diff --git a/assets/MSSQL/alerts.yaml b/assets/MSSQL/alerts.yaml
new file mode 100644
index 0000000..ef4a813
--- /dev/null
+++ b/assets/MSSQL/alerts.yaml
@@ -0,0 +1,53 @@
+groups:
+- name: MSSQLAlerts
+ rules:
+ - alert: MSSQLHighNumberOfDeadlocks
+ annotations:
+ description: '{{ printf "%.2f" $value }} deadlocks have occurred over the last
+ 5 minutes on {{$labels.instance}}, which is above threshold of 10 deadlocks.'
+ summary: There are deadlocks ocurring in the database.
+ expr: |
+ increase(mssql_deadlocks_total{}[5m]) > 10
+ for: 5m
+ labels:
+ severity: warning
+ - alert: MSSQLModerateReadStallTime
+ annotations:
+ description: '{{ printf "%.2f" $value }}ms of IO read stall has occurred on
+ {{$labels.instance}}, which is above threshold of 200ms.'
+ summary: There is a moderate amount of IO stall for database reads.
+ expr: |
+ 1000 * increase(mssql_io_stall_seconds_total{operation="read"}[5m]) > 200
+ for: 5m
+ labels:
+ severity: warning
+ - alert: MSSQLHighReadStallTime
+ annotations:
+ description: '{{ printf "%.2f" $value }}ms of IO read stall has occurred on
+ {{$labels.instance}}, which is above threshold of 400ms.'
+ summary: There is a high amount of IO stall for database reads.
+ expr: |
+ 1000 * increase(mssql_io_stall_seconds_total{operation="read"}[5m]) > 400
+ for: 5m
+ labels:
+ severity: critical
+ - alert: MSSQLModerateWriteStallTime
+ annotations:
+ description: '{{ printf "%.2f" $value }}ms of IO write stall has occurred on
+ {{$labels.instance}}, which is above threshold of 200ms.'
+ summary: There is a moderate amount of IO stall for database writes.
+ expr: |
+ 1000 * increase(mssql_io_stall_seconds_total{operation="write"}[5m]) > 200
+ for: 5m
+ labels:
+ severity: warning
+ - alert: MSSQLHighWriteStallTime
+ annotations:
+ description: '{{ printf "%.2f" $value }}ms of IO write stall has occurred on
+ {{$labels.instance}}, which is above threshold of 400ms.'
+ summary: There is a high amount of IO stall for database writes.
+ expr: |
+ 1000 * increase(mssql_io_stall_seconds_total{operation="write"}[5m]) > 400
+ for: 5m
+ labels:
+ severity: critical
diff --git a/assets/MSSQL/dashboards/mssql-overview.json b/assets/MSSQL/dashboards/mssql-overview.json
new file mode 100644
index 0000000..53a4076
--- /dev/null
+++ b/assets/MSSQL/dashboards/mssql-overview.json
@@ -0,0 +1,1123 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "An overview of an MSSQL instance.",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "mssql-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other MSSQL dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of network connections to each database.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 54,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "connections"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "mssql_connections{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{db}}"
+ }
+ ],
+ "title": "Connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of batch requests.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(mssql_batch_requests_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Batch requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of severe errors that caused connections to be killed.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "errors"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mssql_kill_connection_errors_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Severe errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of deadlocks occurring over time.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "deadlocks"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 5,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(mssql_deadlocks_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Deadlocks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of physical memory available and used by SQL Server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 51,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineStyle": {
+ "fill": "solid"
+ },
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "mssql_os_memory{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{state}}"
+ }
+ ],
+ "title": "OS memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The committed memory and target committed memory for the SQL Server memory manager. See https://learn.microsoft.com/en-us/sql/relational-databases/performance-monitor/monitor-memory-usage?view=sql-server-ver16#isolating-memory-used-by-",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 51,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineStyle": {
+ "fill": "solid"
+ },
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 16,
+ "x": 0,
+ "y": 24
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "mssql_server_total_memory_bytes{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - total"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "mssql_server_target_memory_bytes{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - target"
+ }
+ ],
+ "title": "Memory manager",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The committed memory utilization",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 24
+ },
+ "id": 8,
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "9.1.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "100 * mssql_server_total_memory_bytes{job=~\"$job\", instance=~\"$instance\"} / clamp_min(mssql_available_commit_memory_bytes{job=~\"$job\", instance=~\"$instance\"},1)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Committed memory utilization",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "Recent logs from the error log file.",
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 32
+ },
+ "id": 9,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{job=~\"$job\", instance=~\"$instance\", log_type=\"mssql_error\"}",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Error logs",
+ "type": "logs"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 40
+ },
+ "id": 10,
+ "targets": [ ],
+ "title": "Database",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The current stall (latency) for database writes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 41
+ },
+ "id": 11,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mssql_io_stall_seconds_total{job=~\"$job\", instance=~\"$instance\", db=~\"$database\", operation=\"write\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{db}}"
+ }
+ ],
+ "title": "Database write stall duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The current stall (latency) for database reads.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 41
+ },
+ "id": 12,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mssql_io_stall_seconds_total{job=~\"$job\", instance=~\"$instance\", db=~\"$database\", operation=\"read\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{db}}"
+ }
+ ],
+ "title": "Database read stall duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of times the transaction log has been expanded for a database.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "expansions"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 49
+ },
+ "id": 13,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mssql_log_growths_total{job=~\"$job\", instance=~\"$instance\", db=~\"$database\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{db}}"
+ }
+ ],
+ "title": "Transaction log expansions",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "mssql-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki Datasource",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(mssql_build_info{}, job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 2,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(mssql_build_info{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(mssql_build_info{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 2,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Database",
+ "multi": true,
+ "name": "database",
+ "options": [ ],
+ "query": "label_values(mssql_log_growths_total{job=~\"$job\", instance=~\"$instance\"}, db)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 2,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "MSSQL overview",
+ "uid": "mssql-overview",
+ "version": 0
+}
diff --git a/assets/MSSQL/dashboards/mssql-pages.json b/assets/MSSQL/dashboards/mssql-pages.json
new file mode 100644
index 0000000..e1b6943
--- /dev/null
+++ b/assets/MSSQL/dashboards/mssql-pages.json
@@ -0,0 +1,515 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "An overview of MSSQL paging metrics.",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "mssql-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other MSSQL dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Memory used for the OS page file.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 50,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "mssql_os_page_file{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{state}}"
+ }
+ ],
+ "title": "Page file memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Percentage of page found and read from the SQL Server buffer cache.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "mssql_buffer_cache_hit_ratio{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Buffer cache hit percentage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of page checkpoints per second.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "checkpoints/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "mssql_checkpoint_pages_sec{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Page checkpoints",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of page faults that were incurred by the SQL Server process.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "faults"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 5,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mssql_page_fault_count_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Page faults",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "mssql-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(mssql_build_info{}, job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(mssql_build_info{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(mssql_build_info{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "MSSQL pages",
+ "uid": "mssql-pages",
+ "version": 0
+}
diff --git a/assets/MSSQL/rules.yaml b/assets/MSSQL/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/MSSQL/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/aerospike/alerts.yaml b/assets/aerospike/alerts.yaml
new file mode 100644
index 0000000..fd07086
--- /dev/null
+++ b/assets/aerospike/alerts.yaml
@@ -0,0 +1,95 @@
+groups:
+- name: aerospike
+ rules:
+ - alert: AerospikeNodeHighMemoryUsage
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent of system memory used on node
+ {{$labels.instance}} on cluster {{$labels.aerospike_cluster}}, which is above
+ the threshold of 80.'
+ summary: There is a limited amount of memory available for a node.
+ expr: |
+ 100 - sum without (service) (aerospike_node_stats_system_free_mem_pct) >= 80
+ for: 5m
+ labels:
+ severity: critical
+ - alert: AerospikeNamespaceHighDiskUsage
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent of disk space available for
+ namespace {{$labels.ns}} on node {{$labels.instance}}, on cluster {{$labels.aerospike_cluster}},
+ which is above the threshold of 80.'
+ summary: There is a limited amount of disk space available for a node.
+ expr: |
+ 100 - sum without (service) (aerospike_namespace_device_free_pct) >= 80
+ for: 5m
+ labels:
+ severity: critical
+ - alert: AerospikeUnavailablePartitions
+ annotations:
+ description: '{{ printf "%.0f" $value }} unavailable partition(s) in namespace
+ {{$labels.ns}}, on node {{$labels.instance}}, on cluster {{$labels.aerospike_cluster}},
+ which is above the threshold of 0.'
+ summary: There are unavailable partitions in the Aerospike cluster.
+ expr: |
+ sum without(service) (aerospike_namespace_unavailable_partitions) > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: AerospikeDeadPartitions
+ annotations:
+ description: '{{ printf "%.0f" $value }} dead partition(s) in namespace {{$labels.ns}},
+ on node {{$labels.instance}}, on cluster {{$labels.aerospike_cluster}}, which
+ is above the threshold of 0.'
+ summary: There are dead partitions in the Aerospike cluster.
+ expr: |
+ sum without(service) (aerospike_namespace_dead_partitions) > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: AerospikeNamespaceRejectingWrites
+ annotations:
+ description: Namespace {{$labels.ns}} on node {{$labels.instance}} on cluster
+ {{$labels.aerospike_cluster}} is currently rejecting all client-originated
+ writes.
+ summary: A namespace is currently rejecting all writes. Check for unavailable/dead
+ partitions, clock skew, or nodes running out of memory/disk.
+ expr: |
+ sum without(service) (aerospike_namespace_stop_writes + aerospike_namespace_clock_skew_stop_writes) > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: AerospikeHighClientReadErrorRate
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent of client read transactions
+ are resulting in errors for namespace {{$labels.ns}}, on node {{$labels.instance}},
+ on cluster {{$labels.aerospike_cluster}}, which is above the threshold of
+ 25.'
+ summary: There is a high rate of errors for client read transactions.
+ expr: |
+ sum without(service) (rate(aerospike_namespace_client_read_error[5m])) / (clamp_min(sum without(service) (rate(aerospike_namespace_client_read_error[5m])) + sum without(service) (rate(aerospike_namespace_client_read_success[5m])), 1)) > 25
+ for: 5m
+ labels:
+ severity: warning
+ - alert: AerospikeHighClientWriteErrorRate
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent of client write transactions
+ are resulting in errors for namespace {{$labels.ns}}, on node {{$labels.instance}},
+ on cluster {{$labels.aerospike_cluster}}, which is above the threshold of
+ 25.'
+ summary: There is a high rate of errors for client write transactions.
+ expr: |
+ sum without(service) (rate(aerospike_namespace_client_write_error[5m])) / (clamp_min(sum without(service) (rate(aerospike_namespace_client_write_error[5m])) + sum without(service) (rate(aerospike_namespace_client_write_success[5m])), 1)) > 25
+ for: 5m
+ labels:
+ severity: warning
+ - alert: AerospikeHighClientUDFErrorRate
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent of client UDF transactions
+ are resulting in errors for namespace {{$labels.ns}}, on node {{$labels.instance}},
+ on cluster {{$labels.aerospike_cluster}}, which is above the threshold of
+ 25.'
+ summary: There is a high rate of errors for client UDF transactions.
+ expr: |
+ sum without(service) (rate(aerospike_namespace_client_udf_error[5m])) / (clamp_min(sum without(service) (rate(aerospike_namespace_client_udf_error[5m])) + sum without(service) (rate(aerospike_namespace_client_udf_complete[5m])), 1)) > 25
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/aerospike/dashboards/aerospike-instance-overview.json b/assets/aerospike/dashboards/aerospike-instance-overview.json
new file mode 100644
index 0000000..f20f286
--- /dev/null
+++ b/assets/aerospike/dashboards/aerospike-instance-overview.json
@@ -0,0 +1,1173 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "aerospike-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Aerospike Dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of unavailable data partitions in an Aerospike node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 7,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "text": {
+ "valueSize": 100
+ },
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.2.0-59542pre",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, aerospike_cluster, instance) (aerospike_namespace_unavailable_partitions{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Unavailable partitions",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Memory utilization in an Aerospike node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "scheme",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 17,
+ "x": 7,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "100 - aerospike_node_stats_system_free_mem_pct{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of dead data partitions in an Aerospike node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 7,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "text": {
+ "valueSize": 100
+ },
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.2.0-59542pre",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, aerospike_cluster, instance) (aerospike_namespace_dead_partitions{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Dead partitions",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Disk utilization in an Aerospike node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "scheme",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 17,
+ "x": 7,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "100 - sum by(job, aerospike_cluster, instance) (aerospike_namespace_device_free_pct{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Disk usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Fragmentation rate for the jemalloc heap in an Aerospike node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "scheme",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 33
+ },
+ {
+ "color": "blue",
+ "value": 66
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "aerospike_node_stats_heap_efficiency_pct{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Heap memory efficiency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of active connections to an Aerospike node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 19,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "aerospike_node_stats_client_connections{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - client"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "aerospike_node_stats_fabric_connections{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - fabric"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "aerospike_node_stats_heartbeat_connections{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - heartbeat"
+ }
+ ],
+ "title": "Connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of client read transactions in an Aerospike node organized by result.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "rps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, instance) (rate(aerospike_namespace_client_read_success{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - success"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, instance) (rate(aerospike_namespace_client_read_error{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - error"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, instance) (rate(aerospike_namespace_client_read_filtered_out{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - filtered"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, instance) (rate(aerospike_namespace_client_read_timeout{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - timeout"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, instance) (rate(aerospike_namespace_client_read_not_found{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - not found"
+ }
+ ],
+ "title": "Client reads",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of client write transactions in an Aerospike node organized by result.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "wps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, instance) (rate(aerospike_namespace_client_write_success{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - success"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, instance) (rate(aerospike_namespace_client_write_error{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - error"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, instance) (rate(aerospike_namespace_client_write_filtered_out{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - filtered"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, instance) (rate(aerospike_namespace_client_write_timeout{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - timeout"
+ }
+ ],
+ "title": "Client writes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of client UDF transactions in an Aerospike node organized by result.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, instance) (rate(aerospike_namespace_client_udf_complete{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - complete"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, instance) (rate(aerospike_namespace_client_udf_error{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - error"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, instance) (rate(aerospike_namespace_client_udf_filtered_out{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - filtered"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, instance) (rate(aerospike_namespace_client_udf_timeout{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - timeout"
+ }
+ ],
+ "title": "Client UDF transactions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Percentage of read transactions that are resolved by a cache hit in an Aerospike node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 32
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(job, aerospike_cluster, instance) (aerospike_namespace_cache_read_pct{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Cache read utilization",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "aerospike-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(aerospike_namespace_ns_cluster_size,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(aerospike_node_stats_heap_efficiency_pct{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Aerospike cluster",
+ "multi": true,
+ "name": "aerospike_cluster",
+ "options": [ ],
+ "query": "label_values(aerospike_namespace_ns_cluster_size{job=~\"$job\"}, aerospike_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(aerospike_namespace_ns_cluster_size{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Aerospike instance overview",
+ "uid": "aerospike-instance-overview",
+ "version": 0
+}
diff --git a/assets/aerospike/dashboards/aerospike-logs.json b/assets/aerospike/dashboards/aerospike-logs.json
new file mode 100644
index 0000000..9142a5d
--- /dev/null
+++ b/assets/aerospike/dashboards/aerospike-logs.json
@@ -0,0 +1,325 @@
+{
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "aerospike-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Aerospike Dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Logs volume grouped by \"level\" label.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "drawStyle": "bars",
+ "fillOpacity": 50,
+ "stacking": {
+ "mode": "normal"
+ }
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)merg|(F|f)atal|(A|a)lert|(C|c)rit.*"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)(rr.*|RR.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(W|w)(arn.*|ARN.*|rn|RN)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(N|n)(otice|ote)|(I|i)(nf.*|NF.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "dbg.*|DBG.*|(D|d)(EBUG|ebug)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(T|t)(race|RACE)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "logs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24
+ },
+ "id": 1,
+ "interval": "30s",
+ "options": {
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "sum by (level) (count_over_time({job=~\"integrations/aerospike\",job=~\"$job\",aerospike_cluster=~\"$aerospike_cluster\",instance=~\"$instance\",context=~\"$context\",level=~\"$level\"}\n|~ \"$regex_search\"\n\n[$__interval]))\n",
+ "legendFormat": "{{ level }}"
+ }
+ ],
+ "title": "Logs volume",
+ "transformations": [
+ {
+ "id": "renameByRegex",
+ "options": {
+ "regex": "Value",
+ "renamePattern": "logs"
+ }
+ }
+ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "gridPos": {
+ "h": 18,
+ "w": 24
+ },
+ "id": 2,
+ "options": {
+ "dedupStrategy": "exact",
+ "enableLogDetails": true,
+ "prettifyLogMessage": true,
+ "showTime": false,
+ "wrapLogMessage": true
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "{job=~\"integrations/aerospike\",job=~\"$job\",aerospike_cluster=~\"$aerospike_cluster\",instance=~\"$instance\",context=~\"$context\",level=~\"$level\"} \n|~ \"$regex_search\"\n\n\n"
+ }
+ ],
+ "title": "Logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "aerospike-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values({job=~\"integrations/aerospike\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Aerospike_cluster",
+ "multi": true,
+ "name": "aerospike_cluster",
+ "query": "label_values({job=~\"integrations/aerospike\",job=~\"$job\"}, aerospike_cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values({job=~\"integrations/aerospike\",job=~\"$job\",aerospike_cluster=~\"$aerospike_cluster\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Context",
+ "multi": true,
+ "name": "context",
+ "query": "label_values({job=~\"integrations/aerospike\",job=~\"$job\",aerospike_cluster=~\"$aerospike_cluster\",instance=~\"$instance\"}, context)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Level",
+ "multi": true,
+ "name": "level",
+ "query": "label_values({job=~\"integrations/aerospike\",job=~\"$job\",aerospike_cluster=~\"$aerospike_cluster\",instance=~\"$instance\",context=~\"$context\"}, level)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "",
+ "value": ""
+ },
+ "label": "Regex search",
+ "name": "regex_search",
+ "options": [
+ {
+ "selected": true,
+ "text": "",
+ "value": ""
+ }
+ ],
+ "query": "",
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timezone": "utc",
+ "title": "Aerospike logs",
+ "uid": "aerospike-logs"
+}
diff --git a/assets/aerospike/dashboards/aerospike-namespace-overview.json b/assets/aerospike/dashboards/aerospike-namespace-overview.json
new file mode 100644
index 0000000..9562ec4
--- /dev/null
+++ b/assets/aerospike/dashboards/aerospike-namespace-overview.json
@@ -0,0 +1,967 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "aerospike-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Aerospike Dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of unavailable data partitions in an Aerospike namespace.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "vertical",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "text": {
+ "valueSize": 100
+ },
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.2.0-59542pre",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "aerospike_namespace_unavailable_partitions{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", ns=~\"$ns\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - {{ns}}"
+ }
+ ],
+ "title": "Unavailable partitions",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Disk utilization in an Aerospike namespace.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "scheme",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 16,
+ "x": 8,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "100 - aerospike_namespace_device_free_pct{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", ns=~\"$ns\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - {{ns}}"
+ }
+ ],
+ "title": "Disk usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of dead data partitions in an Aerospike namespace.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "text": {
+ "valueSize": 100
+ },
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.2.0-59542pre",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "aerospike_namespace_dead_partitions{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", ns=~\"$ns\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - {{ns}}"
+ }
+ ],
+ "title": "Dead partitions",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Memory utilization in an Aerospike namespace.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "scheme",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 16,
+ "x": 8,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "100 - aerospike_namespace_memory_free_pct{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", ns=~\"$ns\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - {{ns}}"
+ }
+ ],
+ "title": "Memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of client read transactions in an Aerospike namespace organized by result.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "rps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, ns) (rate(aerospike_namespace_client_read_success{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", ns=~\"$ns\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - {{ns}} - success"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, ns) (rate(aerospike_namespace_client_read_error{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", ns=~\"$ns\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - {{ns}} - error"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, ns) (rate(aerospike_namespace_client_read_filtered_out{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", ns=~\"$ns\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - {{ns}} - filtered"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, ns) (rate(aerospike_namespace_client_read_timeout{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", ns=~\"$ns\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - {{ns}} - timeout"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, ns) (rate(aerospike_namespace_client_read_not_found{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", ns=~\"$ns\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - {{ns}} - not found"
+ }
+ ],
+ "title": "Client reads",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of client write transactions in an Aerospike namespace organized by result.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "wps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, ns) (rate(aerospike_namespace_client_write_success{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", ns=~\"$ns\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - {{ns}} - success"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, ns) (rate(aerospike_namespace_client_write_error{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", ns=~\"$ns\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - {{ns}} - error"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, ns) (rate(aerospike_namespace_client_write_filtered_out{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", ns=~\"$ns\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - {{ns}} - filtered"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, ns) (rate(aerospike_namespace_client_write_timeout{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", ns=~\"$ns\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - {{ns}} - timeout"
+ }
+ ],
+ "title": "Client writes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of client UDF transactions in an Aerospike namespace organized by result.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, ns) (rate(aerospike_namespace_client_udf_complete{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", ns=~\"$ns\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - {{ns}} - complete"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, ns) (rate(aerospike_namespace_client_udf_error{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", ns=~\"$ns\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - {{ns}} - error"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, ns) (rate(aerospike_namespace_client_udf_filtered_out{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", ns=~\"$ns\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - {{ns}} - filtered"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job, ns) (rate(aerospike_namespace_client_udf_timeout{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", ns=~\"$ns\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - {{ns}} - timeout"
+ }
+ ],
+ "title": "Client UDF transactions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Percentage of read transactions that are resolved by a cache hit in an Aerospike namespace.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "aerospike_namespace_cache_read_pct{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\", ns=~\"$ns\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - {{ns}}"
+ }
+ ],
+ "title": "Cache read utilization",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "aerospike-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(aerospike_namespace_ns_cluster_size,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(aerospike_namespace_dead_partitions{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Aerospike cluster",
+ "multi": true,
+ "name": "aerospike_cluster",
+ "options": [ ],
+ "query": "label_values(aerospike_namespace_ns_cluster_size{job=~\"$job\"}, aerospike_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Namespace",
+ "multi": true,
+ "name": "ns",
+ "options": [ ],
+ "query": "label_values(aerospike_namespace_xmem_id{job=~\"$job\"}, ns)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Aerospike namespace overview",
+ "uid": "aerospike-namespace-overview",
+ "version": 0
+}
diff --git a/assets/aerospike/dashboards/aerospike-overview.json b/assets/aerospike/dashboards/aerospike-overview.json
new file mode 100644
index 0000000..9c75451
--- /dev/null
+++ b/assets/aerospike/dashboards/aerospike-overview.json
@@ -0,0 +1,1493 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "aerospike-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Aerospike Dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of nodes in an Aerospike cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "custom": {
+ "align": "left",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false,
+ "inspect": false,
+ "minWidth": 50
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "max": 256,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "custom.filterable",
+ "value": true
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Instance overview",
+ "url": "/d/aerospike-instance-overview"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "aerospike_cluster"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Aerospike cluster"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 7,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "links": [
+ {
+ "title": "Instance overview",
+ "url": "/d/aerospike-instance-overview"
+ }
+ ],
+ "options": {
+ "cellHeight": "md",
+ "footer": {
+ "countRows": false,
+ "enablePagination": false,
+ "fields": [ ],
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "frameIndex": 0,
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.0-59542pre",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, aerospike_cluster, instance) (aerospike_namespace_ns_cluster_size{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"})",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Nodes",
+ "transformations": [
+ {
+ "id": "sortBy",
+ "options": {
+ "fields": { },
+ "sort": [
+ {
+ "desc": true,
+ "field": "Time"
+ }
+ ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of namespaces in an Aerospike cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "custom": {
+ "align": "left",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "max": 32,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "custom.filterable",
+ "value": true
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Instance overview",
+ "url": "/d/aerospike-instance-overview"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "aerospike_cluster"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Aerospike cluster"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ns"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "namespace"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 7,
+ "x": 7,
+ "y": 0
+ },
+ "id": 3,
+ "links": [
+ {
+ "title": "Namespace overview",
+ "url": "/d/aerospike-namespace-overview"
+ }
+ ],
+ "options": {
+ "cellHeight": "md",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [ ]
+ },
+ "pluginVersion": "10.2.0-59542pre",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, aerospike_cluster, instance, ns) (aerospike_namespace_ns_cluster_size{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"})",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{ns}}"
+ }
+ ],
+ "title": "Namespaces",
+ "transformations": [
+ {
+ "id": "sortBy",
+ "options": {
+ "fields": { },
+ "sort": [
+ {
+ "desc": true,
+ "field": "Time"
+ }
+ ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of unavailable data partitions in an Aerospike cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 5,
+ "x": 14,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "text": {
+ "valueSize": 100
+ },
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.2.0-59542pre",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, aerospike_cluster) (aerospike_namespace_unavailable_partitions{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}}"
+ }
+ ],
+ "title": "Unavailable partitions",
+ "transformations": [
+ {
+ "id": "sortBy",
+ "options": {
+ "fields": { },
+ "sort": [
+ {
+ "desc": true,
+ "field": "Time"
+ }
+ ]
+ }
+ }
+ ],
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of dead data partitions in an Aerospike cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 5,
+ "x": 19,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "text": {
+ "valueSize": 100
+ },
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.2.0-59542pre",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, aerospike_cluster) (aerospike_namespace_dead_partitions{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}}"
+ }
+ ],
+ "title": "Dead partitions",
+ "transformations": [
+ {
+ "id": "sortBy",
+ "options": {
+ "fields": { },
+ "sort": [
+ {
+ "desc": true,
+ "field": "Time"
+ }
+ ]
+ }
+ }
+ ],
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Memory utilization for the top k nodes in an Aerospike cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "custom": {
+ "align": "left",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "custom.filterable",
+ "value": true
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Instance overview",
+ "url": "/d/aerospike-instance-overview"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "aerospike_cluster"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Aerospike cluster"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "usage"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 7
+ },
+ "id": 6,
+ "links": [
+ {
+ "title": "Instance overview",
+ "url": "/d/aerospike-instance-overview"
+ }
+ ],
+ "options": {
+ "cellHeight": "md",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.0-59542pre",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk($k, 100 - sum by(job, aerospike_cluster, instance) (avg_over_time(aerospike_node_stats_system_free_mem_pct{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"}[$__interval])))",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Top nodes by memory usage",
+ "transformations": [
+ {
+ "id": "sortBy",
+ "options": {
+ "fields": { },
+ "sort": [
+ {
+ "desc": true,
+ "field": "Time"
+ }
+ ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Disk utilization for the top k nodes in an Aerospike cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "custom": {
+ "align": "left",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "custom.filterable",
+ "value": true
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Instance overview",
+ "url": "/d/aerospike-instance-overview"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "aerospike_cluster"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Aerospike cluster"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "usage"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 7
+ },
+ "id": 7,
+ "links": [
+ {
+ "title": "Instance overview",
+ "url": "/d/aerospike-instance-overview"
+ }
+ ],
+ "options": {
+ "cellHeight": "md",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.0-59542pre",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk($k, 100 - sum by(job, aerospike_cluster, instance) (avg_over_time(aerospike_namespace_device_free_pct{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"}[$__interval])))",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Top nodes by disk usage",
+ "transformations": [
+ {
+ "id": "sortBy",
+ "options": {
+ "fields": { },
+ "sort": [
+ {
+ "desc": true,
+ "field": "Time"
+ }
+ ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of client read transactions in an Aerospike cluster organized by result.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "rps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 15
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job) (rate(aerospike_namespace_client_read_success{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - success"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job) (rate(aerospike_namespace_client_read_error{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - error"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job) (rate(aerospike_namespace_client_read_filtered_out{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - filtered"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job) (rate(aerospike_namespace_client_read_timeout{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - timeout"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job) (rate(aerospike_namespace_client_read_not_found{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - not found"
+ }
+ ],
+ "title": "Client reads",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of client write transactions in an Aerospike cluster organized by result.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "wps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 15
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job) (rate(aerospike_namespace_client_write_success{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - success"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job) (rate(aerospike_namespace_client_write_error{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - error"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job) (rate(aerospike_namespace_client_write_filtered_out{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - filtered"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job) (rate(aerospike_namespace_client_write_timeout{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - timeout"
+ }
+ ],
+ "title": "Client writes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of client UDF transactions in an Aerospike cluster organized by result.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 23
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job) (rate(aerospike_namespace_client_udf_complete{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - complete"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job) (rate(aerospike_namespace_client_udf_error{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - error"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job) (rate(aerospike_namespace_client_udf_filtered_out{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - filtered"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job) (rate(aerospike_namespace_client_udf_timeout{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - timeout"
+ }
+ ],
+ "title": "Client UDF transactions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of active connections to an Aerospike cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 23
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job) (aerospike_node_stats_client_connections{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - client"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job) (aerospike_node_stats_fabric_connections{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - fabric"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(aerospike_cluster, job) (aerospike_node_stats_heartbeat_connections{job=~\"$job\", aerospike_cluster=~\"$aerospike_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{aerospike_cluster}} - heartbeat"
+ }
+ ],
+ "title": "Connections",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "aerospike-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(aerospike_namespace_ns_cluster_size,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(aerospike_node_up{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Aerospike cluster",
+ "multi": true,
+ "name": "aerospike_cluster",
+ "options": [ ],
+ "query": "label_values(aerospike_namespace_ns_cluster_size{job=~\"$job\"},aerospike_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": {
+ "text": "5",
+ "value": "5"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Top node count",
+ "multi": false,
+ "name": "k",
+ "options": [
+ {
+ "text": "5",
+ "value": "5"
+ },
+ {
+ "text": "10",
+ "value": "10"
+ },
+ {
+ "text": "20",
+ "value": "20"
+ },
+ {
+ "text": "50",
+ "value": "50"
+ }
+ ],
+ "query": "5,10,20,50",
+ "refresh": 0,
+ "type": "custom"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Aerospike overview",
+ "uid": "aerospike-overview",
+ "version": 0
+}
diff --git a/assets/aerospike/rules.yaml b/assets/aerospike/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/aerospike/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/apache-activemq/alerts.yaml b/assets/apache-activemq/alerts.yaml
new file mode 100644
index 0000000..52b6ac1
--- /dev/null
+++ b/assets/apache-activemq/alerts.yaml
@@ -0,0 +1,51 @@
+groups:
+- name: apache-activemq-alerts
+ rules:
+ - alert: ApacheActiveMQHighTopicMemoryUsage
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent of memory used by topics on
+ {{$labels.instance}} in cluster {{$labels.activemq_cluster}}, which is above
+ the threshold of 70 percent.'
+ summary: Topic destination memory usage is high, which may result in a reduction
+ of the rate at which producers send messages.
+ expr: |
+ sum without (destination) (activemq_topic_memory_percent_usage{destination!~"ActiveMQ.Advisory.*"}) > 70
+ for: 5m
+ labels:
+ severity: warning
+ - alert: ApacheActiveMQHighQueueMemoryUsage
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent of memory used by queues on
+ {{$labels.instance}} in cluster {{$labels.activemq_cluster}}, which is above
+ the threshold of 70 percent.'
+ summary: Queue destination memory usage is high, which may result in a reduction
+ of the rate at which producers send messages.
+ expr: |
+ sum without (destination) (activemq_queue_memory_percent_usage) > 70
+ for: 5m
+ labels:
+ severity: warning
+ - alert: ApacheActiveMQHighStoreMemoryUsage
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent of store memory used on {{$labels.instance}}
+ in cluster {{$labels.activemq_cluster}}, which is above the threshold of 70
+ percent.'
+ summary: Store memory usage is high, which may result in producers unable to
+ send messages.
+ expr: |
+ activemq_store_usage_ratio > 70
+ for: 5m
+ labels:
+ severity: warning
+ - alert: ApacheActiveMQHighTemporaryMemoryUsage
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent of temporary memory used on
+ {{$labels.instance}} in cluster {{$labels.activemq_cluster}}, which is above
+ the threshold of 70 percent.'
+ summary: Temporary memory usage is high, which may result in saturation of messaging
+ throughput.
+ expr: |
+ activemq_temp_usage_ratio > 70
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/apache-activemq/dashboards/apache-activemq-cluster-overview.json b/assets/apache-activemq/dashboards/apache-activemq-cluster-overview.json
new file mode 100644
index 0000000..ad175a8
--- /dev/null
+++ b/assets/apache-activemq/dashboards/apache-activemq-cluster-overview.json
@@ -0,0 +1,786 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-activemq-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache ActiveMQ dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of clusters that are reporting metrics from ActiveMQ.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "count (activemq_memory_usage_ratio{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Clusters",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of broker instances across clusters.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 6,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "count (activemq_memory_usage_ratio{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Brokers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of message producers active on destinations across clusters.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 12,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (activemq_queue_producer_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\"}) + sum (activemq_topic_producer_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\",destination!~\"ActiveMQ.Advisory.*\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Producers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of consumers subscribed to destinations across clusters.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 18,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (activemq_queue_consumer_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\"}) + sum (activemq_topic_consumer_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\",destination!~\"ActiveMQ.Advisory.*\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Consumers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of messages that have been sent to destinations in a cluster",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "#C8F2C2",
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (activemq_cluster, job) (increase(activemq_queue_enqueue_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\"}[$__interval:])) + sum by (activemq_cluster, job) (increase(activemq_topic_enqueue_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", destination!~\"ActiveMQ.Advisory.*\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}}"
+ }
+ ],
+ "title": "Enqueue / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of messages that have been acknowledged (and removed) from destinations in a cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (activemq_cluster, job) (increase(activemq_queue_dequeue_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\"}[$__interval:])) + sum by (activemq_cluster, job) (increase(activemq_topic_dequeue_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", destination!~\"ActiveMQ.Advisory.*\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}}"
+ }
+ ],
+ "title": "Dequeue / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average percentage of temporary memory used across clusters.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 50
+ },
+ {
+ "color": "red",
+ "value": 70
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 8,
+ "x": 0,
+ "y": 14
+ },
+ "id": 8,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": false,
+ "text": { },
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (activemq_cluster, job) (activemq_temp_usage_ratio{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}}"
+ }
+ ],
+ "title": "Average temporary memory usage",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average percentage of store memory used across clusters.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 50
+ },
+ {
+ "color": "red",
+ "value": 70
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 8,
+ "x": 8,
+ "y": 14
+ },
+ "id": 9,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": false,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (activemq_cluster, job) (activemq_store_usage_ratio{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}}"
+ }
+ ],
+ "title": "Average store memory usage",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average percentage of broker memory used across clusters.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 50
+ },
+ {
+ "color": "red",
+ "value": 70
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 8,
+ "x": 16,
+ "y": 14
+ },
+ "id": 10,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": false,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (activemq_cluster, job) (activemq_memory_usage_ratio{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}}"
+ }
+ ],
+ "title": "Average broker memory usage",
+ "type": "bargauge"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-activemq-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(activemq_topic_producer_count,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(activemq_memory_usage_ratio{job=~\"$job\", cluster=~\"$cluster\"},cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "ActiveMQ cluster",
+ "multi": true,
+ "name": "activemq_cluster",
+ "options": [ ],
+ "query": "label_values(activemq_memory_usage_ratio{job=~\"$job\"},activemq_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache ActiveMQ cluster overview",
+ "uid": "apache-activemq-cluster-overview",
+ "version": 0
+}
diff --git a/assets/apache-activemq/dashboards/apache-activemq-instance-overview.json b/assets/apache-activemq/dashboards/apache-activemq-instance-overview.json
new file mode 100644
index 0000000..faa2c3b
--- /dev/null
+++ b/assets/apache-activemq/dashboards/apache-activemq-instance-overview.json
@@ -0,0 +1,1375 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-activemq-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache ActiveMQ dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The percentage of memory used by both topics and queues across brokers.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 50
+ },
+ {
+ "color": "red",
+ "value": 70
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg (activemq_memory_usage_ratio{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Average broker memory usage",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The percentage of store memory used by both topics and queues across brokers.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 50
+ },
+ {
+ "color": "red",
+ "value": 70
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 6,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg (activemq_store_usage_ratio{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Average store memory usage",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The percentage of temporary memory used by both topics and queues across brokers.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 50
+ },
+ {
+ "color": "red",
+ "value": 70
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 12,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg (activemq_temp_usage_ratio{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Average temporary memory usage",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Recent number of unacknowledged messages on the broker.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 18,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (increase(activemq_message_total{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Unacknowledged messages / $__interval",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Firing alerts for Apache ActiveMQ environment.",
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 4
+ },
+ "id": 6,
+ "options": {
+ "alertInstanceLabelFilter": "{job=~\"${job:regex}\", activemq_cluster=~\"${activemq_cluster:regex}\", instance=~\"${instance:regex}\"}",
+ "alertName": "",
+ "dashboardAlerts": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "groupBy": [ ],
+ "groupMode": "default",
+ "maxItems": 5,
+ "sortOrder": 1,
+ "stateFilter": {
+ "error": true,
+ "firing": true,
+ "noData": true,
+ "normal": true,
+ "pending": true
+ },
+ "viewMode": "list"
+ },
+ "targets": [ ],
+ "title": "ActiveMQ alerts",
+ "type": "alertlist"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of producers attached to destinations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 12,
+ "y": 4
+ },
+ "id": 7,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (activemq_queue_producer_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\"}) + sum (activemq_topic_producer_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Producers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of consumers subscribed to destinations on the broker.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 4
+ },
+ "id": 8,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (activemq_queue_consumer_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\"}) + sum (activemq_topic_consumer_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Consumers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of messages on queue destinations, including any that have been dispatched but not acknowledged.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 10
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(instance, activemq_cluster, job) (activemq_queue_queue_size{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Queue size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The percentage of memory being used by topic and queue destinations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 10
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(instance, activemq_cluster, job) (activemq_queue_memory_percent_usage{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - queue"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(instance, activemq_cluster, job) (activemq_topic_memory_percent_usage{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - topic"
+ }
+ ],
+ "title": "Destination memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of messages that have been sent to the destination.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 18
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(instance, activemq_cluster, job) (increase(activemq_queue_enqueue_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - queue"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(instance, activemq_cluster, job) (increase(activemq_topic_enqueue_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - topic"
+ }
+ ],
+ "title": "Enqueue / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of messages that have been acknowledged (and removed) from the destinations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(instance, activemq_cluster) (increase(activemq_queue_dequeue_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - queue"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(instance, activemq_cluster) (increase(activemq_topic_dequeue_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - topic"
+ }
+ ],
+ "title": "Dequeue / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average time a message was held across all destinations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 26
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (activemq_cluster, instance, job) (activemq_queue_average_enqueue_time{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - queue"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (activemq_cluster, instance, job) (activemq_topic_average_enqueue_time{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - topic"
+ }
+ ],
+ "title": "Average enqueue time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of messages across destinations that are expired.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 26
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(instance, activemq_cluster, job) (increase(activemq_queue_expired_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - queue"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(instance, activemq_cluster, job) (increase(activemq_topic_expired_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - topic"
+ }
+ ],
+ "title": "Expired messages / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 34
+ },
+ "id": 15,
+ "targets": [ ],
+ "title": "JVM resources",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The time spent performing recent garbage collections",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 35
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_gc_duration_seconds{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Garbage collection duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The recent increase in the number of garbage collection events for the JVM.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 35
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(jvm_gc_collection_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", name=\"G1 Young Generation\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Garbage collection count / $__interval",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-activemq-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(activemq_topic_producer_count,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(activemq_memory_usage_ratio{job=~\"$job\"},cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "ActiveMQ cluster",
+ "multi": true,
+ "name": "activemq_cluster",
+ "options": [ ],
+ "query": "label_values(activemq_memory_usage_ratio{job=~\"$job\"},activemq_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(activemq_topic_producer_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\"},instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache ActiveMQ instance overview",
+ "uid": "apache-activemq-instance-overview",
+ "version": 0
+}
diff --git a/assets/apache-activemq/dashboards/apache-activemq-logs.json b/assets/apache-activemq/dashboards/apache-activemq-logs.json
new file mode 100644
index 0000000..cae09ff
--- /dev/null
+++ b/assets/apache-activemq/dashboards/apache-activemq-logs.json
@@ -0,0 +1,310 @@
+{
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-activemq-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache ActiveMQ dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Logs volume grouped by \"level\" label.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "drawStyle": "bars",
+ "fillOpacity": 50,
+ "stacking": {
+ "mode": "normal"
+ }
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)merg|(F|f)atal|(A|a)lert|(C|c)rit.*"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)(rr.*|RR.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(W|w)(arn.*|ARN.*|rn|RN)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(N|n)(otice|ote)|(I|i)(nf.*|NF.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "dbg.*|DBG.*|(D|d)(EBUG|ebug)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(T|t)(race|RACE)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "logs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24
+ },
+ "id": 1,
+ "interval": "30s",
+ "options": {
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "sum by (level) (count_over_time({job=~\"integrations/apache-activemq\",job=~\"$job\",activemq_cluster=~\"$activemq_cluster\",instance=~\"$instance\",level=~\"$level\"}\n|~ \"$regex_search\"\n\n[$__interval]))\n",
+ "legendFormat": "{{ level }}"
+ }
+ ],
+ "title": "Logs volume",
+ "transformations": [
+ {
+ "id": "renameByRegex",
+ "options": {
+ "regex": "Value",
+ "renamePattern": "logs"
+ }
+ }
+ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "gridPos": {
+ "h": 18,
+ "w": 24
+ },
+ "id": 2,
+ "options": {
+ "dedupStrategy": "exact",
+ "enableLogDetails": true,
+ "prettifyLogMessage": true,
+ "showTime": false,
+ "wrapLogMessage": true
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "{job=~\"integrations/apache-activemq\",job=~\"$job\",activemq_cluster=~\"$activemq_cluster\",instance=~\"$instance\",level=~\"$level\"} \n|~ \"$regex_search\"\n\n\n"
+ }
+ ],
+ "title": "Logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "apache-activemq-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values({job=~\"integrations/apache-activemq\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Activemq_cluster",
+ "multi": true,
+ "name": "activemq_cluster",
+ "query": "label_values({job=~\"integrations/apache-activemq\",job=~\"$job\"}, activemq_cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values({job=~\"integrations/apache-activemq\",job=~\"$job\",activemq_cluster=~\"$activemq_cluster\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Level",
+ "multi": true,
+ "name": "level",
+ "query": "label_values({job=~\"integrations/apache-activemq\",job=~\"$job\",activemq_cluster=~\"$activemq_cluster\",instance=~\"$instance\"}, level)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "",
+ "value": ""
+ },
+ "label": "Regex search",
+ "name": "regex_search",
+ "options": [
+ {
+ "selected": true,
+ "text": "",
+ "value": ""
+ }
+ ],
+ "query": "",
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timezone": "utc",
+ "title": "Apache ActiveMQ logs",
+ "uid": "apache-activemq-logs"
+}
diff --git a/assets/apache-activemq/dashboards/apache-activemq-queue-overview.json b/assets/apache-activemq/dashboards/apache-activemq-queue-overview.json
new file mode 100644
index 0000000..869a099
--- /dev/null
+++ b/assets/apache-activemq/dashboards/apache-activemq-queue-overview.json
@@ -0,0 +1,1122 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-activemq-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache ActiveMQ dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of queues connected with the broker instance.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "count (activemq_queue_queue_size{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Queues",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of messages in queue destinations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 6,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (activemq_queue_queue_size{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Queue size",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of producers attached to queue destinations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 12,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (activemq_queue_producer_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Producers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of consumers subscribed to queue destinations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 18,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (activemq_queue_consumer_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Consumers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate messages sent to queue destinations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "mps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 4
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(instance, activemq_cluster, job) ($k_selector, rate(activemq_queue_enqueue_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination=~\".*$name.*\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - {{destination}}"
+ }
+ ],
+ "title": "Top queues by enqueue rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate messages have been acknowledged (and removed) from queue destinations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "mps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 4
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(instance, activemq_cluster) ($k_selector, rate(activemq_queue_dequeue_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\",instance=~\"$instance\", destination=~\".*$name.*\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - {{destination}}"
+ }
+ ],
+ "title": "Top queues by dequeue rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average time a message was held on queue destinations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(instance, activemq_cluster) ($k_selector, activemq_queue_average_enqueue_time{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination=~\".*$name.*\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - {{destination}}"
+ }
+ ],
+ "title": "Top queues by average enqueue time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate messages have expired on queue destinations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "mps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(instance, activemq_cluster, job) ($k_selector, rate(activemq_queue_expired_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination=~\".*$name.*\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - {{destination}}"
+ }
+ ],
+ "title": "Top queues by expired message rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average message size on queue destinations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "axisSoftMin": 0,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 20
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(instance, activemq_cluster, job) ($k_selector, activemq_queue_average_message_size{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination=~\".*$name.*\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - {{destination}}"
+ }
+ ],
+ "title": "Top queues by average message size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Summary of queues showing queue name, enqueue and dequeue rate, average enqueue time, and average message size.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "center",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Average message size"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "decbytes"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Enqueue rate"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "mps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dequeue rate"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "mps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Average enqueue time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "ms"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ActiveMQ cluster"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Cluster link",
+ "url": "d/apache-activemq-cluster-overview?var-activemq_cluster=${__data.fields.activemq_cluster}&${__url_time_range}&var-datasource=${datasource}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Instance"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Instance link",
+ "url": "d/apache-activemq-instance-overview?var-instance=${__data.fields.instance}&${__url_time_range}&var-datasource=${datasource}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "id": 11,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [ ]
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(activemq_queue_enqueue_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination=~\".*$name.*\"}[$__rate_interval:])",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(activemq_queue_dequeue_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination=~\".*$name.*\"}[$__rate_interval:])",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "activemq_queue_average_enqueue_time{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination=~\".*$name.*\"}",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "activemq_queue_average_message_size{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination=~\".*$name.*\"}",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Queue summary",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "destination",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "indexByName": { },
+ "renameByName": {
+ "Time 1": "",
+ "Value #A": "Enqueue rate",
+ "Value #B": "Dequeue rate",
+ "Value #C": "Average enqueue time",
+ "Value #D": "Average message size",
+ "activemq_cluster 1": "ActiveMQ cluster",
+ "destination": "Destination",
+ "instance 1": "Instance"
+ }
+ }
+ },
+ {
+ "id": "filterFieldsByName",
+ "options": {
+ "include": {
+ "names": [
+ "ActiveMQ cluster",
+ "Instance",
+ "Enqueue rate",
+ "Dequeue rate",
+ "Average enqueue time",
+ "Average message size",
+ "Destination"
+ ]
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-activemq-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(activemq_topic_producer_count,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(activemq_memory_usage_ratio{job=~\"$job\"},cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "ActiveMQ cluster",
+ "multi": true,
+ "name": "activemq_cluster",
+ "options": [ ],
+ "query": "label_values(activemq_memory_usage_ratio{job=~\"$job\"},activemq_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(activemq_topic_producer_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\"},instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": {
+ "text": "4",
+ "value": "4"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Top queue count",
+ "multi": false,
+ "name": "k_selector",
+ "options": [
+ {
+ "text": "2",
+ "value": "2"
+ },
+ {
+ "text": "4",
+ "value": "4"
+ },
+ {
+ "text": "6",
+ "value": "6"
+ },
+ {
+ "text": "8",
+ "value": "8"
+ },
+ {
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "2,4,6,8,10",
+ "refresh": 0,
+ "type": "custom"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "",
+ "value": ""
+ },
+ "label": "Queue by name",
+ "name": "name",
+ "query": "",
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache ActiveMQ queue overview",
+ "uid": "apache-activemq-queue-overview",
+ "version": 0
+}
diff --git a/assets/apache-activemq/dashboards/apache-activemq-topic-overview.json b/assets/apache-activemq/dashboards/apache-activemq-topic-overview.json
new file mode 100644
index 0000000..ed91e21
--- /dev/null
+++ b/assets/apache-activemq/dashboards/apache-activemq-topic-overview.json
@@ -0,0 +1,1183 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-activemq-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache ActiveMQ dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of topics connected with the broker instance.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "count (activemq_topic_queue_size{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Topics",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of producers attached to topic destinations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 6,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (activemq_topic_producer_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Producers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of consumers subscribed to topic destinations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 12,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (activemq_topic_consumer_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Consumers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average number of consumers per topic.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 18,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg (activemq_topic_consumer_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Average consumers per topic",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate messages are sent to topic destinations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "mps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 4
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(instance, activemq_cluster, job) ($k_selector, rate(activemq_topic_enqueue_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\", destination=~\".*$name.*\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - {{destination}}"
+ }
+ ],
+ "title": "Top topics by enqueue rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate messages have been acknowledged (and removed) from topic destinations",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "mps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 4
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(instance, activemq_cluster, job) ($k_selector, rate(activemq_topic_dequeue_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\", destination=~\".*$name.*\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - {{destination}}"
+ }
+ ],
+ "title": "Top topics by dequeue rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average time a message was held across all topic destinations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(instance, activemq_cluster, job) ($k_selector, activemq_topic_average_enqueue_time{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\", destination=~\".*$name.*\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - {{destination}}"
+ }
+ ],
+ "title": "Top topics by average enqueue time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate messages have expired on topic destinations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "mps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(instance, activemq_cluster, job) ($k_selector, rate(activemq_topic_expired_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\", destination=~\".*$name.*\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - {{destination}}"
+ }
+ ],
+ "title": "Top topics by expired message rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of consumers subscribed to the most active/used topics.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "id": 10,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(instance, activemq_cluster, job) ($k_selector, activemq_topic_consumer_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\", destination=~\".*$name.*\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - {{destination}}"
+ }
+ ],
+ "title": "Top topics by consumers",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average message size on topic destinations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisShow": false,
+ "axisSoftMin": 0,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(instance, activemq_cluster, job) ($k_selector, activemq_topic_average_message_size{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\", destination=~\".*$name.*\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{activemq_cluster}} - {{instance}} - {{destination}}"
+ }
+ ],
+ "title": "Top topics by average message size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Summary of topics showing topic name, enqueue and dequeue rate, average enqueue time, and average message size.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "left",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Enqueue rate"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "mps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dequeue rate"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "mps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Average enqueue time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "ms"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Average message size"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "decbytes"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ActiveMQ cluster"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Cluster link",
+ "url": "d/apache-activemq-cluster-overview?var-activemq_cluster=${__data.fields.activemq_cluster}&${__url_time_range}&var-datasource=${datasource}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Instance"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Instance link",
+ "url": "d/apache-activemq-instance-overview?var-instance=${__data.fields.instance}&${__url_time_range}&var-datasource=${datasource}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 12,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(activemq_topic_enqueue_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\", destination=~\".*$name.*\"}[$__rate_interval])",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(activemq_topic_dequeue_count{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\", destination=~\".*$name.*\"}[$__rate_interval])",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "activemq_topic_average_enqueue_time{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\", destination=~\".*$name.*\"}",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "activemq_topic_average_message_size{job=~\"$job\", activemq_cluster=~\"$activemq_cluster\", instance=~\"$instance\", destination!~\"ActiveMQ.Advisory.*\", destination=~\".*$name.*\"}",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Topic summary",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "destination",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "indexByName": { },
+ "renameByName": {
+ "Time 3": "",
+ "Value #A": "Enqueue rate",
+ "Value #B": "Dequeue rate",
+ "Value #C": "Average enqueue time",
+ "Value #D": "Average message size",
+ "activemq_cluster 1": "ActiveMQ cluster",
+ "destination": "Destination",
+ "instance 1": "Instance"
+ }
+ }
+ },
+ {
+ "id": "filterFieldsByName",
+ "options": {
+ "include": {
+ "names": [
+ "ActiveMQ cluster",
+ "Instance",
+ "Enqueue rate",
+ "Dequeue rate",
+ "Average enqueue time",
+ "Average message size",
+ "Destination"
+ ]
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-activemq-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(activemq_topic_producer_count,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(activemq_memory_usage_ratio{job=~\"$job\"},cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "ActiveMQ cluster",
+ "multi": true,
+ "name": "activemq_cluster",
+ "options": [ ],
+ "query": "label_values(activemq_memory_usage_ratio{job=~\"$job\"},activemq_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(activemq_topic_producer_count{job=~\"$job\",activemq_cluster=~\"$activemq_cluster\"},instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": {
+ "text": "4",
+ "value": "4"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Top topic count",
+ "multi": false,
+ "name": "k_selector",
+ "options": [
+ {
+ "text": "2",
+ "value": "2"
+ },
+ {
+ "text": "4",
+ "value": "4"
+ },
+ {
+ "text": "6",
+ "value": "6"
+ },
+ {
+ "text": "8",
+ "value": "8"
+ },
+ {
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "2,4,6,8,10",
+ "refresh": 0,
+ "type": "custom"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "",
+ "value": ""
+ },
+ "label": "Topic by name",
+ "name": "name",
+ "query": "",
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache ActiveMQ topic overview",
+ "uid": "apache-activemq-topic-overview",
+ "version": 0
+}
diff --git a/assets/apache-activemq/rules.yaml b/assets/apache-activemq/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/apache-activemq/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/apache-airflow/alerts.yaml b/assets/apache-airflow/alerts.yaml
new file mode 100644
index 0000000..8050f30
--- /dev/null
+++ b/assets/apache-airflow/alerts.yaml
@@ -0,0 +1,45 @@
+groups:
+- name: apache-airflow
+ rules:
+ - alert: ApacheAirflowStarvingPoolTasks
+ annotations:
+ description: |
+ The number of starved tasks is {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} - {{ $labels.pool_name }} which is above the threshold of 0.
+ summary: There are starved tasks detected in the Apache Airflow pool.
+ expr: |
+ airflow_pool_starving_tasks > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: ApacheAirflowDAGScheduleDelayWarningLevel
+ annotations:
+ description: |
+ The average delay in DAG schedule to run time is {{ printf "%.0f" $value }} over the last 1m on {{ $labels.instance }} - {{ $labels.dag_id }} which is above the threshold of 10.
+ summary: The delay in DAG schedule time to DAG run time has reached the warning
+ threshold.
+ expr: |
+ increase(airflow_dagrun_schedule_delay_sum[5m]) / clamp_min(increase(airflow_dagrun_schedule_delay_count[5m]),1) > 10
+ for: 1m
+ labels:
+ severity: warning
+ - alert: ApacheAirflowDAGScheduleDelayCriticalLevel
+ annotations:
+ description: |
+ The average delay in DAG schedule to run time is {{ printf "%.0f" $value }} over the last 1m for {{ $labels.instance }} - {{ $labels.dag_id }} which is above the threshold of 60.
+ summary: The delay in DAG schedule time to DAG run time has reached the critical
+ threshold.
+ expr: |
+ increase(airflow_dagrun_schedule_delay_sum[5m]) / clamp_min(increase(airflow_dagrun_schedule_delay_count[5m]),1) > 60
+ for: 1m
+ labels:
+ severity: critical
+ - alert: ApacheAirflowDAGFailures
+ annotations:
+ description: |
+ The number of DAG failures seen is {{ printf "%.0f" $value }} over the last 1m for {{ $labels.instance }} - {{ $labels.dag_id }} which is above the threshold of 0.
+ summary: There have been DAG failures detected.
+ expr: |
+ increase(airflow_dagrun_duration_failed_count[5m]) > 0
+ for: 1m
+ labels:
+ severity: critical
diff --git a/assets/apache-airflow/dashboards/apache-airflow-overview.json b/assets/apache-airflow/dashboards/apache-airflow-overview.json
new file mode 100644
index 0000000..54d58b3
--- /dev/null
+++ b/assets/apache-airflow/dashboards/apache-airflow-overview.json
@@ -0,0 +1,1434 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of errors from trying to parse DAG files in an Apache Airflow system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "airflow_dag_processing_import_errors{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "DAG file parsing errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of Service Level Agreement misses for any DAG runs in the Apache Airflow system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(airflow_sla_missed{job=~\"$job\", instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "SLA misses",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The overall task instances failures for an Apache Airflow system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(airflow_ti_failures{job=~\"$job\", instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Task failures",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The average time taken for recent successful DAG runs by DAG ID in the Apache Airflow system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(airflow_dagrun_duration_success_sum{job=~\"$job\", instance=~\"$instance\", dag_id=~\"$dag_id\"}[$__interval:])/clamp_min(increase(airflow_dagrun_duration_success_count{job=~\"$job\", instance=~\"$instance\", dag_id=~\"$dag_id\"}[$__interval:]),1)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{dag_id}}"
+ }
+ ],
+ "title": "DAG success duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The average time taken for recent failed DAG runs by DAG ID in the Apache Airflow system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(airflow_dagrun_duration_failed_sum{job=~\"$job\", instance=~\"$instance\", dag_id=~\"$dag_id\"}[$__interval:])/clamp_min(increase(airflow_dagrun_duration_failed_count{job=~\"$job\", instance=~\"$instance\", dag_id=~\"$dag_id\"}[$__interval:]),1)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{dag_id}}"
+ }
+ ],
+ "title": "DAG failed duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The average time taken for recent task runs by Task ID in the Apache Airflow system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 7,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "text": { }
+ },
+ "pluginVersion": "9.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(airflow_dag_task_duration_sum{job=~\"$job\", instance=~\"$instance\", dag_id=~\"$dag_id\", task_id=~\"$task_id\"}[$__interval:]) / clamp_min(increase(airflow_dag_task_duration_count{job=~\"$job\", instance=~\"$instance\", dag_id=~\"$dag_id\", task_id=~\"$task_id\"}[$__interval:]),1) != 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{dag_id}} - {{task_id}}"
+ }
+ ],
+ "title": "Task duration",
+ "transformations": [ ],
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of task counts by DAG ID in the Apache Airflow system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ]
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "pieType": "pie",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "asc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, instance, dag_id, state) (increase(airflow_task_finish_total{job=~\"$job\", instance=~\"$instance\", dag_id=~\"$dag_id\"}[$__interval:])) != 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{dag_id}} - {{state}}"
+ }
+ ],
+ "title": "Task count summary",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of task counts by Task ID in the Apache Airflow system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(airflow_task_finish_total{job=~\"$job\", instance=~\"$instance\", dag_id=~\"$dag_id\", task_id=~\"$task_id\", state=~\"$state\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{dag_id}} - {{task_id}} - {{state}}"
+ }
+ ],
+ "title": "Task counts",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "Logs for each individual task run on the DAGs.",
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 32
+ },
+ "id": 10,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{job=~\"$job\", instance=~\"$instance\", dag_id=~\"$dag_id\", task_id=~\"$task_id\", filename=~\".*/airflow/logs/dag_id.*\"} |= ``",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Task logs",
+ "type": "logs"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 40
+ },
+ "id": 11,
+ "targets": [ ],
+ "title": "Scheduler details",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of average delay between recent scheduled DAG runtime and the actual DAG runtime by DAG ID in the Apache Airflow system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 41
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(airflow_dagrun_schedule_delay_sum{job=~\"$job\", instance=~\"$instance\", dag_id=~\"$dag_id\"}[$__interval:]) / clamp_min(increase(airflow_dagrun_schedule_delay_count{job=~\"$job\", instance=~\"$instance\", dag_id=~\"$dag_id\"}[$__interval:]),1)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{dag_id}}"
+ }
+ ],
+ "title": "DAG schedule delay",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of current tasks that the scheduler is handling in the Apache Airflow system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 41
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "airflow_scheduler_tasks_executable{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - executable"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "airflow_scheduler_tasks_starving{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - starving"
+ }
+ ],
+ "title": "Scheduler tasks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of current tasks that the executors are handling in the Apache Airflow system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 49
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "airflow_executor_running_tasks{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - running"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "airflow_executor_queued_tasks{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - queued"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "airflow_executor_open_slots{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - open"
+ }
+ ],
+ "title": "Executor tasks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of current task slots that the pools are handling in the Apache Airflow system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 49
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "airflow_pool_running_slots{job=~\"$job\", instance=~\"$instance\", pool_name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{pool_name}} - running"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "airflow_pool_queued_slots{job=~\"$job\", instance=~\"$instance\", pool_name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{pool_name}} - queued"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "airflow_pool_starving_tasks{job=~\"$job\", instance=~\"$instance\", pool_name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{pool_name}} - starving"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "airflow_pool_open_slots{job=~\"$job\", instance=~\"$instance\", pool_name=~\"$pool_name\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{pool_name}} - open"
+ }
+ ],
+ "title": "Pool task slots",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "Shows the scheduler logs by DAG file.",
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 57
+ },
+ "id": 16,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{job=~\"$job\", instance=~\"$instance\", dag_file=~\"$dag_file\", filename=~\".*/airflow/logs/scheduler/latest/.*\"} |= ``",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Scheduler logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-airflow-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Prometheus data source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(airflow_scheduler_tasks_executable,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(airflow_scheduler_tasks_executable{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "DAG",
+ "multi": true,
+ "name": "dag_id",
+ "options": [ ],
+ "query": "label_values(airflow_task_start_total{job=~\"$job\", instance=~\"$instance\"}, dag_id)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Task",
+ "multi": true,
+ "name": "task_id",
+ "options": [ ],
+ "query": "label_values(airflow_task_start_total{job=~\"$job\", instance=~\"$instance\", dag_id=~\"$dag_id\"}, task_id)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Task state",
+ "multi": true,
+ "name": "state",
+ "options": [ ],
+ "query": "label_values(airflow_task_finish_total{job=~\"$job\", instance=~\"$instance\", dag_id=~\"$dag_id\", task_id=~\"$task_id\"}, state)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Pool",
+ "multi": true,
+ "name": "pool_name",
+ "options": [ ],
+ "query": "label_values(airflow_pool_open_slots{job=~\"$job\", instance=~\"$instance\"}, pool_name)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "DAG file",
+ "multi": true,
+ "name": "dag_file",
+ "options": [ ],
+ "query": "label_values(dag_file)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache Airflow overview",
+ "uid": "apache-airflow-overview",
+ "version": 0
+}
diff --git a/assets/apache-airflow/rules.yaml b/assets/apache-airflow/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/apache-airflow/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/apache-camel/alerts.yaml b/assets/apache-camel/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/apache-camel/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/apache-camel/dashboards/apache-camel-micrometer.json b/assets/apache-camel/dashboards/apache-camel-micrometer.json
new file mode 100644
index 0000000..0eae418
--- /dev/null
+++ b/assets/apache-camel/dashboards/apache-camel-micrometer.json
@@ -0,0 +1,2455 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 58,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 22,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Global Stats Camel Context : $context",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "blue",
+ "value": 100
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "RunningRoutesPercentage"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "percent"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "RoutesCount"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "transparent",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Instances"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "transparent",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 0,
+ "y": 1
+ },
+ "id": 4,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "vertical",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.1",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "count (\n camel_routes_running_routes{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\"\n }\n)",
+ "format": "time_series",
+ "hide": false,
+ "instant": true,
+ "legendFormat": "Instances",
+ "range": false,
+ "refId": "Instances"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "sum(\n camel_routes_running_routes{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\",\n app_kubernetes_io_version=\"$version\"\n }\n) \n/ \nsum(\n camel_routes_added_routes{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\",\n app_kubernetes_io_version=\"$version\"\n }\n)\n*\n100",
+ "format": "time_series",
+ "hide": false,
+ "instant": true,
+ "legendFormat": "Running",
+ "range": false,
+ "refId": "RunningRoutesPercentage"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "max(\n camel_routes_added_routes{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\",\n app_kubernetes_io_version=\"$version\"\n }\n)",
+ "format": "time_series",
+ "hide": false,
+ "instant": true,
+ "legendFormat": "Routes",
+ "range": false,
+ "refId": "RoutesCount"
+ }
+ ],
+ "title": "Routes Status",
+ "transformations": [ ],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Shows completed exchanges of the camel context in the time range",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 2,
+ "x": 4,
+ "y": 1
+ },
+ "id": 212,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "center",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.1",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(\n increase(\n camel_exchanges_total{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\",\n app_kubernetes_io_version=\"$version\"\n }[$__range]\n )\n)",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Completed",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "Failure Percentage"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Failure %"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "Failure Count"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Failure Count"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 3,
+ "x": 6,
+ "y": 1
+ },
+ "id": 334,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "center",
+ "orientation": "vertical",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.1",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum by (camelContext) (\n increase(\n camel_exchanges_failed_total{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\",\n app_kubernetes_io_version=\"$version\"\n }[$__range]\n )\n)",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "Failure Count"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum by (camelContext) (\n increase(\n camel_exchanges_failed_total{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\",\n app_kubernetes_io_version=\"$version\"\n }[$__range])\n ) \n/ \nsum by (camelContext) (\n increase(\n camel_exchanges_total{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\",\n app_kubernetes_io_version=\"$version\"\n }[$__range]\n )\n)*100",
+ "hide": false,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "Failure Percentage"
+ }
+ ],
+ "title": "Failures",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineStyle": {
+ "fill": "solid"
+ },
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "dashed"
+ }
+ },
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 0.59999999999999998
+ },
+ {
+ "color": "red",
+ "value": 0.90000000000000002
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 9,
+ "y": 1
+ },
+ "id": 466,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum by(node) (\n process_cpu_usage{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\",\n app_kubernetes_io_version=\"$version\"\n }\n)",
+ "interval": "",
+ "legendFormat": "{{label_name}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Saturation : CPU Usage by node",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineStyle": {
+ "fill": "solid"
+ },
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "dashed"
+ }
+ },
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 0.59999999999999998
+ },
+ {
+ "color": "red",
+ "value": 0.90000000000000002
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 5,
+ "x": 13,
+ "y": 1
+ },
+ "id": 497,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum by (pod) (\n jvm_memory_used_bytes{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\",\n app_kubernetes_io_version=\"$version\",\n area=\"heap\"\n }\n) \n/ \nsum by (pod) (\n jvm_memory_max_bytes{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\",\n app_kubernetes_io_version=\"$version\",\n area=\"heap\"\n }\n)",
+ "format": "time_series",
+ "legendFormat": "{{pod}} heap",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum by (pod) (\n jvm_memory_used_bytes{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\",\n app_kubernetes_io_version=\"$version\",\n area=\"nonheap\"\n }\n) \n/ \nsum by (pod) (\n jvm_memory_max_bytes{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\",\n app_kubernetes_io_version=\"$version\",\n area=\"nonheap\"\n }\n)",
+ "format": "time_series",
+ "hide": false,
+ "legendFormat": "{{pod}} nonheap",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Saturation : Memory usage by pod",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "node"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Node Name"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #Pod Count"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "NB of Pods"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #Process CPU Usage"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Sum of CPU usage"
+ },
+ {
+ "id": "unit",
+ "value": "percentunit"
+ },
+ {
+ "id": "color"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "lcd",
+ "type": "gauge",
+ "valueDisplayMode": "color"
+ }
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "yellow",
+ "value": 0.59999999999999998
+ },
+ {
+ "color": "red",
+ "value": 0.90000000000000002
+ }
+ ]
+ }
+ },
+ {
+ "id": "decimals",
+ "value": 1
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 1
+ },
+ "id": 498,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.0.1",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "count by (node) (\n camel_routes_running_routes{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\"\n }\n)\n",
+ "format": "table",
+ "instant": true,
+ "legendFormat": "__auto",
+ "range": false,
+ "refId": "Pod Count"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "sum by (node) (\n process_cpu_usage{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\"\n }\n)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "legendFormat": "__auto",
+ "range": false,
+ "refId": "Process CPU Usage"
+ }
+ ],
+ "title": "Pods per Nodes and CPU Usage",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "node",
+ "mode": "outer"
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 2,
+ "x": 4,
+ "y": 4
+ },
+ "id": 11,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.1",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(\n camel_exchanges_inflight{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\",\n app_kubernetes_io_version=\"$version\"\n }\n)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Inflight",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 382,
+ "panels": [ ],
+ "title": "Camel Context Overview - RED Method",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 13,
+ "w": 7,
+ "x": 0,
+ "y": 8
+ },
+ "id": 368,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.1",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum by (routeId) (\n irate(\n camel_exchanges_total{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\"\n }[$__rate_interval]\n )\n)",
+ "legendFormat": "{{routeId}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Rate : Executions / sec",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 13,
+ "w": 9,
+ "x": 7,
+ "y": 8
+ },
+ "id": 434,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.1",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "sum by (routeId) (\n increase (\n camel_route_policy_seconds_sum{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\"\n }[$__range]\n )\n) \n \n/ \n \nsum by (routeId) (\n increase (\n camel_route_policy_seconds_count{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\"\n }[$__range]\n )\n)",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Duration : Avg Execution time",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 1,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 0.050000000000000003
+ },
+ {
+ "color": "red",
+ "value": 0.80000000000000004
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 13,
+ "w": 8,
+ "x": 16,
+ "y": 8
+ },
+ "id": 337,
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "10.0.1",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "sum by (routeId) (\n increase(\n camel_exchanges_failed_total{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\"\n }[$__range]\n )\n) \n/ \nsum by (routeId) (\n increase(\n camel_exchanges_total{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\"\n }[$__range]\n ) > 0\n)",
+ "instant": true,
+ "legendFormat": "{{routeId}}",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "title": "Errors : Failure Rates",
+ "transformations": [ ],
+ "type": "gauge"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 21
+ },
+ "id": 10,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Show the numbers of exchanges per second for camel route $route",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 2,
+ "x": 0,
+ "y": 22
+ },
+ "id": 12,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "/^Value$/",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.1",
+ "repeat": "route",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(\n irate(\n camel_exchanges_total{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\"\n }[$__rate_interval]\n )\n)",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Ex/sec",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 2,
+ "y": 22
+ },
+ "id": 16,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.0.5",
+ "repeat": "route",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum by (camelContext) (\n irate(\n camel_exchanges_total{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\"\n }[$__rate_interval]\n )\n)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "$route Exchanges/sec - all instances",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 7,
+ "y": 22
+ },
+ "id": 27,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.0.5",
+ "repeat": "route",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum by (pod) (\n irate(\n camel_exchanges_total{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\"\n }[$__rate_interval]\n )\n)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "$route Exchanges/sec - per instances",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineStyle": {
+ "fill": "solid"
+ },
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 12,
+ "y": 22
+ },
+ "id": 335,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.0.5",
+ "repeat": "route",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum by (routeId) (\n increase(\n camel_exchanges_failed_total{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\"\n }[$__range]\n )\n) \n/ \nsum by (routeId) (\n increase(\n camel_exchanges_total{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\"\n }[$__range]\n )\n)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "$route Failure % - all instances",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Current number of inflight exchanges",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "index": 0,
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 2,
+ "x": 17,
+ "y": 22
+ },
+ "id": 35,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.1",
+ "repeat": "route",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "sum by (camelContext) (\n camel_exchanges_inflight{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\"\n }\n)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Inflight $route",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 19,
+ "y": 22
+ },
+ "id": 55,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.0",
+ "repeat": "route",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum by (kubernetes_pod_name) (camel_exchanges_inflight{job=~\"$job\",namespace=\"$namespace\",camelContext=\"$context\",routeId=~\"$route\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{kubernetes_pod_name}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "$route Inflight - per instances",
+ "type": "timeseries"
+ }
+ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Traffic Per Route",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 22
+ },
+ "id": 69,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Average execution time for a route",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 2,
+ "x": 0,
+ "y": 23
+ },
+ "id": 96,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.1",
+ "repeat": "route",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "sum by (camelContext) (\n increase (\n camel_route_policy_seconds_sum{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\"\n }[$__range]\n )\n) \n\n/ \n\nsum by (camelContext) (\n increase (\n camel_route_policy_seconds_count{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\"\n }[$__range]\n )\n)",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Avg Exec time $route",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 2,
+ "y": 23
+ },
+ "id": 112,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.0",
+ "repeat": "route",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum by (camelContext) (\n increase (\n camel_route_policy_seconds_sum{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\"\n }[$__range]\n )\n) \n \n/ \n \nsum by (camelContext) (\n increase (\n camel_route_policy_seconds_count{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\"\n }[$__range]\n )\n)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Avg Exec time $route - all instances",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "blue",
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 7,
+ "y": 23
+ },
+ "id": 181,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.0",
+ "repeat": "route",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum by (pod) (\n increase (\n camel_route_policy_seconds_sum{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\"\n }[$__range]\n )\n) \n \n/ \n \nsum by (pod) (\n increase (\n camel_route_policy_seconds_count{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\"\n }[$__range]\n )\n)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{kubernetes_pod_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Avg Exec time $route - per instances",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Avg Execution TIme"
+ },
+ {
+ "id": "unit",
+ "value": "s"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "routeId"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 23
+ },
+ "id": 189,
+ "interval": "",
+ "links": [ ],
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.0.1",
+ "repeat": "route",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum by (routeId,nodeId) (\n increase (\n camel_message_history_seconds_sum{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\",\n nodeId=~\"$processor\"\n }[$__range]\n )\n) \n/ \nsum by (routeId,nodeId) (\n increase (\n camel_message_history_seconds_count{\n job=~\"$job\",\n cluster=\"$cluster\",\n namespace=\"$namespace\",\n camelContext=\"$context\",\n app_kubernetes_io_part_of=\"$part_of\",\n app_kubernetes_io_name=\"$app_name\",\n app_kubernetes_io_component=\"$component\",\n app_kubernetes_io_instance=\"$instance\", \n app_kubernetes_io_version=\"$version\",\n routeId=~\"$route\",\n nodeId=~\"$processor\"\n }[$__range]\n )\n)\n",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Processor Execution Times - $route",
+ "transformations": [ ],
+ "type": "table"
+ }
+ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Execution Times Per Route",
+ "type": "row"
+ }
+ ],
+ "refresh": "5s",
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": [ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": true,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "definition": "label_values(camel_routes_running_routes{eventType=\"RouteEvent\"},job)",
+ "description": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(camel_routes_running_routes{eventType=\"RouteEvent\"},job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "local",
+ "value": "local"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "definition": "label_values(camel_routes_running_routes{eventType=\"RouteEvent\"},cluster)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Cluster",
+ "multi": false,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(camel_routes_running_routes{eventType=\"RouteEvent\"},cluster)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "camel",
+ "value": "camel"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "definition": "label_values(camel_routes_running_routes{eventType=\"RouteEvent\",job=~\"${job}\",cluster=\"${cluster}\"},namespace)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Namespace",
+ "multi": false,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(camel_routes_running_routes{eventType=\"RouteEvent\",job=~\"${job}\",cluster=\"${cluster}\"},namespace)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "smoke-test-app",
+ "value": "smoke-test-app"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "definition": "label_values(camel_routes_running_routes{eventType=\"RouteEvent\",job=~\"${job}\",cluster=\"${cluster}\",namespace=\"$namespace\"},camelContext)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Camel Context",
+ "multi": false,
+ "name": "context",
+ "options": [ ],
+ "query": {
+ "query": "label_values(camel_routes_running_routes{eventType=\"RouteEvent\",job=~\"${job}\",cluster=\"${cluster}\",namespace=\"$namespace\"},camelContext)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "definition": "label_values(camel_exchanges_succeeded_total{job=~\"${job}\",cluster=\"${cluster}\",namespace=\"$namespace\",camelContext=\"$context\"},routeId)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Camel Route",
+ "multi": true,
+ "name": "route",
+ "options": [ ],
+ "query": {
+ "query": "label_values(camel_exchanges_succeeded_total{job=~\"${job}\",cluster=\"${cluster}\",namespace=\"$namespace\",camelContext=\"$context\"},routeId)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "definition": "label_values(camel_message_history_seconds_count{job=~\"${job}\",cluster=\"${cluster}\",namespace=\"$namespace\",camelContext=\"$context\",routeId=~\"$route\"},nodeId)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Camel Processor",
+ "multi": true,
+ "name": "processor",
+ "options": [ ],
+ "query": {
+ "query": "label_values(camel_message_history_seconds_count{job=~\"${job}\",cluster=\"${cluster}\",namespace=\"$namespace\",camelContext=\"$context\",routeId=~\"$route\"},nodeId)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": {
+ "selected": false,
+ "text": "dev",
+ "value": "dev"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "definition": "label_values(camel_routes_running_routes{job=~\"$job\",cluster=\"${cluster}\",eventType=\"RouteEvent\",camelContext=\"$context\"},app_kubernetes_io_part_of)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Part of",
+ "multi": false,
+ "name": "part_of",
+ "options": [ ],
+ "query": {
+ "query": "label_values(camel_routes_running_routes{job=~\"$job\",cluster=\"${cluster}\",eventType=\"RouteEvent\",camelContext=\"$context\"},app_kubernetes_io_part_of)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "",
+ "current": {
+ "selected": false,
+ "text": "dev",
+ "value": "dev"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "definition": "label_values(camel_routes_running_routes{job=~\"$job\",cluster=\"${cluster}\",eventType=\"RouteEvent\",camelContext=\"$context\"},app_kubernetes_io_name)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Name",
+ "multi": false,
+ "name": "app_name",
+ "options": [ ],
+ "query": {
+ "query": "label_values(camel_routes_running_routes{job=~\"$job\",cluster=\"${cluster}\",eventType=\"RouteEvent\",camelContext=\"$context\"},app_kubernetes_io_name)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "",
+ "current": {
+ "selected": false,
+ "text": "dev",
+ "value": "dev"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "definition": "label_values(camel_routes_running_routes{job=~\"$job\",cluster=\"${cluster}\",eventType=\"RouteEvent\",camelContext=\"$context\"},app_kubernetes_io_component)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Component",
+ "multi": false,
+ "name": "component",
+ "options": [ ],
+ "query": {
+ "query": "label_values(camel_routes_running_routes{job=~\"$job\",cluster=\"${cluster}\",eventType=\"RouteEvent\",camelContext=\"$context\"},app_kubernetes_io_component)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "",
+ "current": {
+ "selected": true,
+ "text": "dev-master",
+ "value": "dev-master"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "definition": "label_values(camel_routes_running_routes{job=~\"$job\",cluster=\"${cluster}\",eventType=\"RouteEvent\",camelContext=\"$context\"},app_kubernetes_io_instance)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Instance",
+ "multi": false,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(camel_routes_running_routes{job=~\"$job\",cluster=\"${cluster}\",eventType=\"RouteEvent\",camelContext=\"$context\"},app_kubernetes_io_instance)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "",
+ "current": {
+ "selected": false,
+ "text": "dev-snapshot",
+ "value": "dev-snapshot"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "definition": "label_values(camel_routes_running_routes{job=~\"$job\",cluster=\"${cluster}\",eventType=\"RouteEvent\",camelContext=\"$context\"},app_kubernetes_io_version)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Version",
+ "multi": false,
+ "name": "version",
+ "options": [ ],
+ "query": {
+ "query": "label_values(camel_routes_running_routes{job=~\"$job\",cluster=\"${cluster}\",eventType=\"RouteEvent\",camelContext=\"$context\"},app_kubernetes_io_version)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-15m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Apache Camel - Context view",
+ "uid": "apache-camel-micrometer",
+ "version": 11,
+ "weekStart": ""
+}
diff --git a/assets/apache-camel/rules.yaml b/assets/apache-camel/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/apache-camel/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/apache-cassandra/alerts.yaml b/assets/apache-cassandra/alerts.yaml
new file mode 100644
index 0000000..3a66162
--- /dev/null
+++ b/assets/apache-cassandra/alerts.yaml
@@ -0,0 +1,91 @@
+groups:
+- name: ApacheCassandraAlerts
+ rules:
+ - alert: HighReadLatency
+ annotations:
+ description: 'An average of {{ printf "%.0f" $value }}ms of read latency has
+ occurred over the last 5 minutes on {{$labels.instance}}, which is above the
+ threshold of 200ms. '
+ summary: There is a high level of read latency within the node.
+ expr: |
+ sum(cassandra_table_readlatency_seconds_sum) by (instance) / sum(cassandra_table_readlatency_seconds_count) by (instance) * 1000 > 200
+ for: 5m
+ labels:
+ severity: critical
+ - alert: HighWriteLatency
+ annotations:
+ description: 'An average of {{ printf "%.0f" $value }}ms of write latency has
+ occurred over the last 5 minutes on {{$labels.instance}}, which is above the
+ threshold of 200ms. '
+ summary: There is a high level of write latency within the node.
+ expr: |
+ sum(cassandra_keyspace_writelatency_seconds_sum) by (instance) / sum(cassandra_keyspace_writelatency_seconds_count) by (instance) * 1000 > 200
+ for: 5m
+ labels:
+ severity: critical
+ - alert: HighPendingCompactionTasks
+ annotations:
+ description: '{{ printf "%.0f" $value }} compaction tasks have been pending
+ over the last 15 minutes on {{$labels.instance}}, which is above the threshold
+ of 30. '
+ summary: Compaction task queue is filling up.
+ expr: |
+ cassandra_compaction_pendingtasks > 30
+ for: 15m
+ labels:
+ severity: warning
+ - alert: BlockedCompactionTasksFound
+ annotations:
+ description: '{{ printf "%.0f" $value }} compaction tasks have been blocked
+ over the last 5 minutes on {{$labels.instance}}, which is above the threshold
+ of 1. '
+ summary: Compaction task queue is full.
+ expr: |
+ cassandra_threadpools_currentlyblockedtasks_count{threadpools="CompactionExecutor", path="internal"} > 1
+ for: 5m
+ labels:
+ severity: critical
+ - alert: HintsStoredOnNode
+ annotations:
+ description: '{{ printf "%.0f" $value }} hints have been written to the node
+ over the last minute on {{$labels.instance}}, which is above the threshold
+ of 1. '
+ summary: Hints have been recently written to this node.
+ expr: |
+ increase(cassandra_storage_totalhints_count[5m]) > 1
+ for: 1m
+ labels:
+ severity: warning
+ - alert: UnavailableWriteRequestsFound
+ annotations:
+ description: '{{ printf "%.0f" $value }} unavailable write requests have been
+ found over the last 5 minutes on {{$labels.instance}}, which is above the
+ threshold of 1. '
+ summary: Unavailable exceptions have been encountered while performing writes
+ in this cluster.
+ expr: |
+ sum(cassandra_clientrequest_unavailables_count{clientrequest="Write"}) by (cassandra_cluster) > 1
+ for: 5m
+ labels:
+ severity: critical
+ - alert: HighCpuUsage
+ annotations:
+ description: 'Cpu usage is at {{ printf "%.0f" $value }} percent over the last
+ 5 minutes on {{$labels.instance}}, which is above the threshold of 80. '
+ summary: A node has a CPU usage higher than the configured threshold.
+ expr: |
+ jvm_process_cpu_load{job=~"integrations/apache-cassandra"} * 100 > 80
+ for: 5m
+ labels:
+ severity: critical
+ - alert: HighMemoryUsage
+ annotations:
+ description: 'Memory usage is at {{ printf "%.0f" $value }} percent over the
+ last 5 minutes on {{$labels.instance}}, which is above the threshold of 80
+ }}. '
+ summary: A node has a higher memory utilization than the configured threshold.
+ expr: |
+ sum(jvm_memory_usage_used_bytes{job=~"integrations/apache-cassandra", area="Heap"}) / sum(jvm_physical_memory_size{job=~"integrations/apache-cassandra"}) * 100 > 80
+ for: 5m
+ labels:
+ severity: critical
diff --git a/assets/apache-cassandra/dashboards/cassandra-keyspaces.json b/assets/apache-cassandra/dashboards/cassandra-keyspaces.json
new file mode 100644
index 0000000..0b69953
--- /dev/null
+++ b/assets/apache-cassandra/dashboards/cassandra-keyspaces.json
@@ -0,0 +1,1090 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-cassandra-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache Cassandra dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The total count of the amount of keyspaces being reported.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.3.6",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "count(count by (keyspace) (cassandra_keyspace_writelatency_seconds{job=~\"$job\", instance=~\"$instance\", keyspace=~\"$keyspace\", cassandra_cluster=~\"$cassandra_cluster\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Keyspaces count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total amount of disk space used by keyspaces.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_keyspace_totaldiskspaceused{job=~\"$job\", instance=~\"$instance\", keyspace=~\"$keyspace\", cassandra_cluster=~\"$cassandra_cluster\"}) by (keyspace)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{keyspace}}"
+ }
+ ],
+ "title": "Keyspace total disk space used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of compaction operations a keyspace is pending to perform.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_keyspace_pendingcompactions{job=~\"$job\", instance=~\"$instance\", keyspace=~\"$keyspace\", cassandra_cluster=~\"$cassandra_cluster\"}) by (keyspace)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{keyspace}}"
+ }
+ ],
+ "title": "Keyspace pending compactions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Max partition size for keyspaces.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max(cassandra_table_maxpartitionsize{job=~\"$job\", instance=~\"$instance\", keyspace=~\"$keyspace\", cassandra_cluster=~\"$cassandra_cluster\"}) by (keyspace)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{keyspace}}"
+ }
+ ],
+ "title": "Keyspace max partition size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of writes performed on the keyspace.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(sum(cassandra_keyspace_writelatency_seconds_count{job=~\"$job\", instance=~\"$instance\", keyspace=~\"$keyspace\", cassandra_cluster=~\"$cassandra_cluster\"}) by (keyspace)[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{keyspace}}"
+ }
+ ],
+ "title": "Writes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of reads performed on the keyspace.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(sum(cassandra_keyspace_readlatency_seconds_count{job=~\"$job\", instance=~\"$instance\", keyspace=~\"$keyspace\", cassandra_cluster=~\"$cassandra_cluster\"}) by (keyspace)[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{keyspace}}"
+ }
+ ],
+ "title": "Reads",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of repair jobs started per keyspace.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 18
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(sum(cassandra_keyspace_repairjobsstarted_count{job=~\"$job\", instance=~\"$instance\", keyspace=~\"$keyspace\", cassandra_cluster=~\"$cassandra_cluster\"} >= 0) by (keyspace)[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{keyspace}} "
+ }
+ ],
+ "title": "Repair jobs started",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of repair jobs that were completed.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(sum(cassandra_keyspace_repairjobscompleted_count{job=~\"$job\", instance=~\"$instance\", keyspace=~\"$keyspace\", cassandra_cluster=~\"$cassandra_cluster\"}) by (keyspace)[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{keyspace}} "
+ }
+ ],
+ "title": "Repair jobs completed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The 95th and 99th percentils of local write latency for keyspaces",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_keyspace_writelatency_seconds{job=~\"$job\", instance=~\"$instance\", keyspace=~\"$keyspace\", cassandra_cluster=~\"$cassandra_cluster\", quantile=\"0.95\"} >= 0) by (keyspace)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ keyspace }} - p95"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_keyspace_writelatency_seconds{job=~\"$job\", instance=~\"$instance\", keyspace=~\"$keyspace\", cassandra_cluster=~\"$cassandra_cluster\", quantile=\"0.99\"} >= 0) by (keyspace)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ keyspace }} - p99"
+ }
+ ],
+ "title": "Keyspace write latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average local read latency for keyspaces",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_keyspace_readlatency_seconds{job=~\"$job\", instance=~\"$instance\", keyspace=~\"$keyspace\", cassandra_cluster=~\"$cassandra_cluster\", quantile=\"0.95\"} >= 0) by (keyspace)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ keyspace }} - p95"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_keyspace_readlatency_seconds{job=~\"$job\", instance=~\"$instance\", keyspace=~\"$keyspace\", cassandra_cluster=~\"$cassandra_cluster\", quantile=\"0.99\"} >= 0) by (keyspace)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ keyspace }} - p99"
+ }
+ ],
+ "title": "Keyspace read latency",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-cassandra-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(cassandra_up_endpoint_count, job)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(cassandra_up_endpoint_count{job=~\"$job\"}, cluster)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Cassandra cluster",
+ "multi": true,
+ "name": "cassandra_cluster",
+ "options": [ ],
+ "query": "label_values(cassandra_up_endpoint_count{job=~\"$job\"}, cassandra_cluster)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(cassandra_up_endpoint_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"}, instance)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Keyspace",
+ "multi": true,
+ "name": "keyspace",
+ "options": [ ],
+ "query": "label_values(cassandra_keyspace_caspreparelatency_seconds{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\",instance=~\"$instance\"}, keyspace)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache Cassandra keyspaces",
+ "uid": "cassandra-keyspaces",
+ "version": 0
+}
diff --git a/assets/apache-cassandra/dashboards/cassandra-nodes.json b/assets/apache-cassandra/dashboards/cassandra-nodes.json
new file mode 100644
index 0000000..5818f08
--- /dev/null
+++ b/assets/apache-cassandra/dashboards/cassandra-nodes.json
@@ -0,0 +1,1700 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-cassandra-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache Cassandra dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of bytes being used by this node",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "cassandra_storage_load_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Disk usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The JVM memory usage of this node",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_memory_usage_used_bytes{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{area}}"
+ }
+ ],
+ "title": "Memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The JVM CPU usage of this node",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_process_cpu_load{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "CPU usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of time spent performing the most recent garbage collection on this node",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_gc_duration_seconds{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Garbage collection duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of times garbage collection was performed on this node",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_gc_collection_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{name}}"
+ }
+ ],
+ "title": "Garbage collections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The keycache hit rate for this node",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 12
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "cassandra_cache_hitrate{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\", cache=\"KeyCache\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Keycache hit rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of hint messages written to this node",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 6,
+ "y": 12
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "cassandra_storage_totalhints_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Hint messages",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of currently pending compaction tasks on this node",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 12,
+ "y": 12
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "cassandra_compaction_pendingtasks{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Pending compaction tasks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of currently blocked compaction tasks on this node",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 12
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "cassandra_threadpools_currentlyblockedtasks_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\", threadpools=\"CompactionExecutor\", path=\"internal\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Blocked compaction tasks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of local writes across all keyspaces for this node",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 18
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase((sum by (instance) (cassandra_keyspace_writelatency_seconds_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\"})[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{ instance }}"
+ }
+ ],
+ "title": "Writes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of local reads across all keyspaces for this node",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase((sum by (instance) (cassandra_keyspace_readlatency_seconds_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\"})[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{ instance }}"
+ }
+ ],
+ "title": "Reads",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average write latency for the node",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg(cassandra_keyspace_writelatency_seconds_average{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\"} >= 0) by (instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Write average latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average read latency for the node",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg(cassandra_keyspace_readlatency_seconds_average{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\"} >= 0) by (instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Read average latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Local write latency quartiles for the nodes",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "left",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 30
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.4.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_keyspace_writelatency_seconds{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\", quantile=\"0.95\"}) by (instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ instance }} - p95"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_keyspace_writelatency_seconds{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\", quantile=\"0.99\"} >= 0) by (instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ instance }} - p99"
+ }
+ ],
+ "title": "Write latency quartiles",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Local read latency quartiles for the nodes",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 30
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_keyspace_readlatency_seconds{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\", quantile=\"0.95\"} >= 0) by (instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ instance }} - p95"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_keyspace_readlatency_seconds{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\", quantile=\"0.99\"} >= 0) by (instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ instance }} - p99"
+ }
+ ],
+ "title": "Read latency quartiles",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The cross-node latency from the node's perspective.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 30
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_messaging_crossnodelatency_seconds{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\", quantile=\"0.95\"}) by (instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - p95"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_messaging_crossnodelatency_seconds{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\", quantile=\"0.99\"}) by (instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - p99"
+ }
+ ],
+ "title": "Cross-node latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "Recent logs from the Cassandra system.logs file",
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 36
+ },
+ "id": 18,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", instance=~\"$instance\"} |= ``",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "System logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-cassandra-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki Datasource",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(cassandra_cache_size, job)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(cassandra_cache_size{job=~\"$job\"}, cluster)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Cassandra cluster",
+ "multi": true,
+ "name": "cassandra_cluster",
+ "options": [ ],
+ "query": "label_values(cassandra_cache_size{job=~\"$job\"}, cassandra_cluster)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(cassandra_cache_size{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"}, instance)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache Cassandra nodes",
+ "uid": "cassandra-nodes",
+ "version": 0
+}
diff --git a/assets/apache-cassandra/dashboards/cassandra-overview.json b/assets/apache-cassandra/dashboards/cassandra-overview.json
new file mode 100644
index 0000000..f3b06ba
--- /dev/null
+++ b/assets/apache-cassandra/dashboards/cassandra-overview.json
@@ -0,0 +1,2115 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-cassandra-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache Cassandra dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of unique jobs being reported",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.3.6",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "count(count by (cassandra_cluster) (cassandra_up_endpoint_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ cassandra_cluster }}"
+ }
+ ],
+ "title": "Number of clusters",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The sum of unique instances being reported.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.3.6",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max(cassandra_up_endpoint_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ cassandra_cluster }}"
+ }
+ ],
+ "title": "Number of nodes",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of down nodes in the cluster",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.3.6",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max(cassandra_down_endpoint_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ cassandra_cluster }}"
+ }
+ ],
+ "title": "Number of down nodes",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of timeouts experienced from each node",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(increase(cassandra_connection_timeouts_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"}[$__interval:])) by (cassandra_cluster, instance)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{ instance }}"
+ }
+ ],
+ "title": "Connection timeouts",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of medium tasks that a connection has either completed, dropped, or is pending",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg(cassandra_cache_hitrate{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", cache=\"KeyCache\",} * 100) by (cassandra_cluster)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ cassandra_cluster }} "
+ }
+ ],
+ "title": "Average key cache hit ratio",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of tasks that a connection has either completed, dropped, or is pending",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_connection_largemessagedroppedtasks{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"}) by (cassandra_cluster, instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ instance }} - large dropped"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_connection_largemessageactivetasks{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"}) by (cassandra_cluster, instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ instance }} - large active"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_connection_largemessagependingtasks{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"}) by (cassandra_cluster, instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ instance }} - large pending"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_connection_smallmessagedroppedtasks{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"}) by (cassandra_cluster, instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ instance }} - small dropped"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_connection_smallmessageactivetasks{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"}) by (cassandra_cluster, instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ instance }} - small active"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_connection_smallmessagependingtasks{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"}) by (cassandra_cluster, instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ instance }} - small pending"
+ }
+ ],
+ "title": "Tasks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The total number of bytes being used by Apache Cassandra for storage.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 12,
+ "y": 12
+ },
+ "id": 8,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.1-30f3f63",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_storage_load_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"}) by (cassandra_cluster)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{cassandra_cluster}}"
+ }
+ ],
+ "title": "Total disk usage",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of bytes used by each node of the cluster",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 12
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_storage_load_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"}) by (cassandra_cluster, instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ instance }}"
+ }
+ ],
+ "title": "Disk usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of local writes aggregated across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 5,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 18
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase((sum by (cassandra_cluster) (cassandra_keyspace_writelatency_seconds_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"})[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{ cassandra_cluster }}"
+ }
+ ],
+ "title": "Writes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of local writes aggregated across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 5,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase((sum by (cassandra_cluster) (cassandra_keyspace_readlatency_seconds_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"})[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{ cassandra_cluster }}"
+ }
+ ],
+ "title": "Reads",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average write latency for the cluster",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 5,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_keyspace_writelatency_seconds_average{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"} >= 0) by (cassandra_cluster)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ cassandra_cluster }}"
+ }
+ ],
+ "title": "Write average latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average read latency for the cluster",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 5,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_keyspace_readlatency_seconds_average{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"} >= 0) by (cassandra_cluster)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ cassandra_cluster }}"
+ }
+ ],
+ "title": "Read average latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Local write latency heatmap for this cluster",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 30
+ },
+ "id": 14,
+ "options": {
+ "calculate": true,
+ "cellGap": 1,
+ "cellValues": {
+ "unit": "short"
+ },
+ "color": {
+ "exponent": 0.5,
+ "fill": "dark-orange",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "Oranges",
+ "steps": 64
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1.0000000000000001e-09
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "tooltip": {
+ "show": true,
+ "yHistogram": false
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "9.4.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_keyspace_writelatency_seconds{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"}) by (quantile)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Write latency heatmap",
+ "type": "heatmap"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Local read latency heatmap for this cluster",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 30
+ },
+ "id": 15,
+ "options": {
+ "calculate": true,
+ "calculation": {
+ "xBuckets": {
+ "mode": "size"
+ },
+ "yBuckets": {
+ "mode": "size"
+ }
+ },
+ "cellGap": 1,
+ "color": {
+ "exponent": 0.5,
+ "fill": "dark-orange",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "Oranges",
+ "steps": 64
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1.0000000000000001e-09
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "tooltip": {
+ "show": true,
+ "yHistogram": false
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "9.4.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_keyspace_readlatency_seconds{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\"}) by (quantile)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Read latency heatmap",
+ "type": "heatmap"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Local write latency quartiles for this cluster",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "left",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 36
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.4.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_keyspace_writelatency_seconds{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", quantile=\"0.95\"} >= 0) by (cassandra_cluster)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ cassandra_cluster }} - p95"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_keyspace_writelatency_seconds{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", quantile=\"0.99\"} >= 0) by (cassandra_cluster)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ cassandra_cluster }} - p99"
+ }
+ ],
+ "title": "Write latency quartiles",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Local read latency quartiles for this cluster",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 36
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_keyspace_readlatency_seconds{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", quantile=\"0.95\"} >= 0) by (cassandra_cluster)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ cassandra_cluster }} - p95"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(cassandra_keyspace_readlatency_seconds{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", quantile=\"0.99\"} >= 0) by (cassandra_cluster)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ cassandra_cluster }} - p99"
+ }
+ ],
+ "title": "Read latency quartiles",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 42
+ },
+ "id": 18,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ cassandra_cluster }}"
+ }
+ ],
+ "title": "Client requests",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of standard client write requests.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 0,
+ "y": 43
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(increase(cassandra_clientrequest_latency_seconds_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", clientrequest=\"Write\"}[$__interval:])) by (cassandra_cluster)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{label_name}}"
+ }
+ ],
+ "title": "Write requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Standard client write requests returning timed out exceptions.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 8,
+ "y": 43
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(increase(cassandra_clientrequest_timeouts_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", clientrequest=\"Write\"}[$__interval:])) by (cassandra_cluster)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{ cassandra_cluster }}"
+ }
+ ],
+ "title": "Write requests timed out",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Standard client write requests returning timed out exceptions.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 16,
+ "y": 43
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(increase(cassandra_clientrequest_unavailables_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", clientrequest=\"Write\"}[$__interval:])) by (cassandra_cluster)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{ cassandra_cluster }}"
+ }
+ ],
+ "title": "Write requests unavailable",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of standard client read requests.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 0,
+ "y": 48
+ },
+ "id": 22,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(increase(cassandra_clientrequest_latency_seconds_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", clientrequest=\"Read\"}[$__interval:])) by (cassandra_cluster)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{ cassandra_cluster }}"
+ }
+ ],
+ "title": "Read requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Standard client read requests returning timed out exceptions.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 8,
+ "y": 48
+ },
+ "id": 23,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(increase(cassandra_clientrequest_timeouts_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", clientrequest=\"Read\"}[$__interval:])) by (cassandra_cluster)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{ cassandra_cluster }}"
+ }
+ ],
+ "title": "Read requests timed out",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Standard client write requests returning timed out exceptions.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 16,
+ "y": 48
+ },
+ "id": 24,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(increase(cassandra_clientrequest_unavailables_count{job=~\"$job\", cassandra_cluster=~\"$cassandra_cluster\", clientrequest=\"Read\"}[$__interval:])) by (cassandra_cluster)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{ cassandra_cluster }}"
+ }
+ ],
+ "title": "Read requests unavailable",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-cassandra-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(cassandra_up_endpoint_count, job)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(cassandra_up_endpoint_count{job=~\"$job\"}, cluster)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Cassandra cluster",
+ "multi": true,
+ "name": "cassandra_cluster",
+ "options": [ ],
+ "query": "label_values(cassandra_up_endpoint_count{job=~\"$job\"}, cassandra_cluster)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache Cassandra overview",
+ "uid": "cassandra-overview",
+ "version": 0
+}
diff --git a/assets/apache-cassandra/rules.yaml b/assets/apache-cassandra/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/apache-cassandra/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/apache-couchdb/alerts.yaml b/assets/apache-couchdb/alerts.yaml
new file mode 100644
index 0000000..a833730
--- /dev/null
+++ b/assets/apache-couchdb/alerts.yaml
@@ -0,0 +1,114 @@
+groups:
+- name: ApacheCouchDBAlerts
+ rules:
+ - alert: CouchDBUnhealthyCluster
+ annotations:
+ description: '{{$labels.couchdb_cluster}} has reported a value of {{ printf
+ "%.0f" $value }} for its stability over the last 5 minutes, which is below
+ the threshold of 1.'
+ summary: At least one of the nodes in a cluster is reporting the cluster as
+ being unstable.
+ expr: |
+ min by(job, couchdb_cluster) (couchdb_couch_replicator_cluster_is_stable) < 1
+ for: 5m
+ labels:
+ severity: critical
+ - alert: CouchDBHigh4xxResponseCodes
+ annotations:
+ description: '{{ printf "%.0f" $value }} 4xx responses have been detected over
+ the last 5 minutes on {{$labels.instance}}, which is above the threshold of
+ 5.'
+ summary: There are a high number of 4xx responses for incoming requests to a
+ node.
+ expr: |
+ sum by(job, instance) (increase(couchdb_httpd_status_codes{code=~"4.*"}[5m])) > 5
+ for: 5m
+ labels:
+ severity: warning
+ - alert: CouchDBHigh5xxResponseCodes
+ annotations:
+ description: '{{ printf "%.0f" $value }} 5xx responses have been detected over
+ the last 5 minutes on {{$labels.instance}}, which is above the threshold of
+ 0.'
+ summary: There are a high number of 5xx responses for incoming requests to a
+ node.
+ expr: |
+ sum by(job, instance) (increase(couchdb_httpd_status_codes{code=~"5.*"}[5m])) > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: CouchDBModerateRequestLatency
+ annotations:
+ description: 'An average of {{ printf "%.0f" $value }}ms of request latency
+ has occurred over the last 5 minutes on {{$labels.instance}}, which is above
+ the threshold of 500ms. '
+ summary: There is a moderate level of request latency for a node.
+ expr: |
+ sum by(job, instance) (couchdb_request_time_seconds_sum / couchdb_request_time_seconds_count) > 500
+ for: 5m
+ labels:
+ severity: warning
+ - alert: CouchDBHighRequestLatency
+ annotations:
+ description: 'An average of {{ printf "%.0f" $value }}ms of request latency
+ has occurred over the last 5 minutes on {{$labels.instance}}, which is above
+ the threshold of 1000ms. '
+ summary: There is a high level of request latency for a node.
+ expr: |
+ sum by(job, instance) (couchdb_request_time_seconds_sum / couchdb_request_time_seconds_count) > 1000
+ for: 5m
+ labels:
+ severity: critical
+ - alert: CouchDBManyReplicatorJobsPending
+ annotations:
+ description: '{{ printf "%.0f" $value }} replicator jobs are pending on {{$labels.instance}},
+ which is above the threshold of 10. '
+ summary: There is a high number of replicator jobs pending for a node.
+ expr: |
+ sum by(job, instance) (couchdb_couch_replicator_jobs_pending) > 10
+ for: 5m
+ labels:
+ severity: warning
+ - alert: CouchDBReplicatorJobsCrashing
+ annotations:
+ description: '{{ printf "%.0f" $value }} replicator jobs have crashed over the
+ last 5 minutes on {{$labels.instance}}, which is above the threshold of 0. '
+ summary: There are replicator jobs crashing for a node.
+ expr: |
+ sum by(job, instance) (increase(couchdb_couch_replicator_jobs_crashes_total[5m])) > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: CouchDBReplicatorChangesQueuesDying
+ annotations:
+ description: '{{ printf "%.0f" $value }} replicator changes queue processes
+ have died over the last 5 minutes on {{$labels.instance}}, which is above
+ the threshold of 0. '
+ summary: There are replicator changes queue process deaths for a node.
+ expr: |
+ sum by(job, instance) (increase(couchdb_couch_replicator_changes_queue_deaths_total[5m])) > 0
+ for: 5m
+ labels:
+ severity: warning
+ - alert: CouchDBReplicatorConnectionOwnersCrashing
+ annotations:
+ description: '{{ printf "%.0f" $value }} replicator connection owner processes
+ have crashed over the last 5 minutes on {{$labels.instance}}, which is above
+ the threshold of 0. '
+ summary: There are replicator connection owner process crashes for a node.
+ expr: |
+ sum by(job, instance) (increase(couchdb_couch_replicator_connection_owner_crashes_total[5m])) > 0
+ for: 5m
+ labels:
+ severity: warning
+ - alert: CouchDBReplicatorConnectionWorkersCrashing
+ annotations:
+ description: '{{ printf "%.0f" $value }} replicator connection worker processes
+ have crashed over the last 5 minutes on {{$labels.instance}}, which is above
+ the threshold of 0. '
+ summary: There are replicator connection worker process crashes for a node.
+ expr: |
+ sum by(job, instance) (increase(couchdb_couch_replicator_connection_worker_crashes_total[5m])) > 0
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/apache-couchdb/dashboards/couchdb-nodes.json b/assets/apache-couchdb/dashboards/couchdb-nodes.json
new file mode 100644
index 0000000..8985bb2
--- /dev/null
+++ b/assets/apache-couchdb/dashboards/couchdb-nodes.json
@@ -0,0 +1,1663 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-couchdb-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache CouchDB dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of memory used by a node's Erlang Virtual Machine.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "couchdb_erlang_memory_bytes{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\", memory_type=\"total\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Erlang memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The total number of file descriptors open on a node",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "couchdb_open_os_files_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Open OS files",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The total number of open databases on a node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "couchdb_open_databases_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Open databases",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of database writes on a node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "wps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(couchdb_database_writes_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Database writes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of database reads on a node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "rps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(couchdb_database_reads_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Database reads",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of view reads on a node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "rps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 12
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(couchdb_httpd_view_reads_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "View reads",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of view requests that timed out on a node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 12
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(couchdb_httpd_view_timeouts_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "View timeouts",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of temporary view reads on a node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "rps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 12
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(couchdb_httpd_temporary_view_reads_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Temporary view reads",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 18
+ },
+ "id": 10,
+ "targets": [ ],
+ "title": "Requests",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of bulk requests for a node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 19
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(couchdb_httpd_bulk_requests_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Bulk requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The request latency quantiles for a node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 19
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "couchdb_request_time_seconds{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\", quantile=\"0.5\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - p50"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "couchdb_request_time_seconds{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\", quantile=\"0.75\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - p75"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "couchdb_request_time_seconds{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\", quantile=\"0.95\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - p95"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "couchdb_request_time_seconds{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\", quantile=\"0.99\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - p99"
+ }
+ ],
+ "title": "Request latency quantiles",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The request rate split by HTTP Method for a node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(couchdb_httpd_request_methods{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\"}[$__rate_interval]) != 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{method}}"
+ }
+ ],
+ "title": "Request methods",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The responses grouped by HTTP status type (2xx, 3xx, 4xx, and 5xx) for a node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ]
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "pieType": "pie",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(instance, couchdb_cluster) (increase(couchdb_httpd_status_codes{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\", code=~\"2.*\"}[$__interval:])) != 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - 2xx"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(instance, couchdb_cluster) (increase(couchdb_httpd_status_codes{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\", code=~\"3.*\"}[$__interval:])) != 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - 3xx"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(instance, couchdb_cluster) (increase(couchdb_httpd_status_codes{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\", code=~\"4.*\"}[$__interval:])) != 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - 4xx"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(instance, couchdb_cluster) (increase(couchdb_httpd_status_codes{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\", code=~\"5.*\"}[$__interval:])) != 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - 5xx"
+ }
+ ],
+ "title": "Response status overview",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The response rate split by good HTTP statuses for a node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 31
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(couchdb_httpd_status_codes{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\", code=~\"[23].*\"}[$__rate_interval]) != 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{code}}"
+ }
+ ],
+ "title": "Good response statuses",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The response rate split by error HTTP statuses for a node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 31
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(couchdb_httpd_status_codes{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\", code=~\"[45].*\"}[$__rate_interval]) != 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{code}}"
+ }
+ ],
+ "title": "Error response statuses",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 37
+ },
+ "id": 17,
+ "targets": [ ],
+ "title": "Logs",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of logged messages for a node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 38
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(couchdb_couch_log_requests_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\", level=~\"$log_level\"}[$__interval:]) != 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{level}}"
+ }
+ ],
+ "title": "Log types",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "Recent logs from the Apache CouchDB logs file for a node.",
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 44
+ },
+ "id": 19,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", instance=~\"$instance\", filename=\"/var/log/couchdb/couchdb.log\"} |~ \"$log_level\"",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "System logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-couchdb-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki Datasource",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(couchdb_couch_replicator_cluster_is_stable, job)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(couchdb_couch_replicator_cluster_is_stable{job=~\"$job\"}, cluster)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "CouchDB cluster",
+ "multi": true,
+ "name": "couchdb_cluster",
+ "options": [ ],
+ "query": "label_values(couchdb_couch_replicator_cluster_is_stable{job=~\"$job\"}, couchdb_cluster)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(couchdb_couch_replicator_cluster_is_stable{couchdb_cluster=~\"$couchdb_cluster\"}, instance)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Log level",
+ "multi": true,
+ "name": "log_level",
+ "options": [ ],
+ "query": "label_values(couchdb_couch_log_requests_total{instance=~\"$instance\"}, level)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache CouchDB nodes",
+ "uid": "couchdb-nodes",
+ "version": 0
+}
diff --git a/assets/apache-couchdb/dashboards/couchdb-overview.json b/assets/apache-couchdb/dashboards/couchdb-overview.json
new file mode 100644
index 0000000..17224dd
--- /dev/null
+++ b/assets/apache-couchdb/dashboards/couchdb-overview.json
@@ -0,0 +1,2244 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-couchdb-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache CouchDB dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of clusters being reported.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "yellow",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "count(count by(couchdb_cluster, job) (couchdb_request_time_seconds_count{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ couchdb_cluster }}"
+ }
+ ],
+ "title": "Number of clusters",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of nodes being reported.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(count by(couchdb_cluster, job) (couchdb_request_time_seconds_count{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ couchdb_cluster }}"
+ }
+ ],
+ "title": "Number of nodes",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Percentage of clusters that have all nodes that are currently reporting healthy.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "yellow",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "yellow",
+ "value": 1
+ },
+ {
+ "color": "green",
+ "value": 100
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(min by(job, couchdb_cluster) (couchdb_couch_replicator_cluster_is_stable{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"})) / count(count by(job, couchdb_cluster) (couchdb_couch_replicator_cluster_is_stable{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"})) * 100",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ couchdb_cluster }}"
+ }
+ ],
+ "title": "Clusters healthy",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The total number of file descriptors open aggregated across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(couchdb_cluster, job) (couchdb_open_os_files_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}}"
+ }
+ ],
+ "title": "Open OS files",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The total number of open databases aggregated across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster) (couchdb_open_databases_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}}"
+ }
+ ],
+ "title": "Open databases",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of database writes aggregated across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "wps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster) (rate(couchdb_database_writes_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}}"
+ }
+ ],
+ "title": "Database writes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of database reads aggregated across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "rps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster) (rate(couchdb_database_reads_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}}"
+ }
+ ],
+ "title": "Database reads",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of view reads aggregated across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "rps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 18
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster) (rate(couchdb_httpd_view_reads_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}}"
+ }
+ ],
+ "title": "View reads",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of view requests that timed out aggregated across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 18
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster) (rate(couchdb_httpd_view_timeouts_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}}"
+ }
+ ],
+ "title": "View timeouts",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of temporary view reads aggregated across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "rps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 18
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster) (rate(couchdb_httpd_temporary_view_reads_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}}"
+ }
+ ],
+ "title": "Temporary view reads",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 12,
+ "targets": [ ],
+ "title": "Requests",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of bulk requests aggregated across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster) (rate(couchdb_httpd_bulk_requests_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}}"
+ }
+ ],
+ "title": "Bulk requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The average request latency quantiles aggregated across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(job, couchdb_cluster, quantile) (couchdb_request_time_seconds{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", quantile=~\"0.5\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}} - p50"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(job, couchdb_cluster, quantile) (couchdb_request_time_seconds{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", quantile=~\"0.75\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}} - p75"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(job, couchdb_cluster, quantile) (couchdb_request_time_seconds{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", quantile=~\"0.95\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}} - p95"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(job, couchdb_cluster, quantile) (couchdb_request_time_seconds{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", quantile=~\"0.99\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}} - p99"
+ }
+ ],
+ "title": "Request latency quantiles",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The request rate split by HTTP Method aggregated across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 31
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster, method) (rate(couchdb_httpd_request_methods{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"}[$__rate_interval])) != 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}} - {{method}}"
+ }
+ ],
+ "title": "Request methods",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The responses grouped by HTTP status type (2xx, 3xx, 4xx, and 5xx) aggregated across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ]
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 31
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "pieType": "pie",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster) (increase(couchdb_httpd_status_codes{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", code=~\"2.*\"}[$__interval:])) != 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}} - 2xx"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster) (increase(couchdb_httpd_status_codes{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", code=~\"3.*\"}[$__interval:])) != 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}} - 3xx"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster) (increase(couchdb_httpd_status_codes{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", code=~\"4.*\"}[$__interval:])) != 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}} - 4xx"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster) (increase(couchdb_httpd_status_codes{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", code=~\"5.*\"}[$__interval:])) != 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}} - 5xx"
+ }
+ ],
+ "title": "Response status overview",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The response rate split by good HTTP statuses aggregated across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 37
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster, code) (rate(couchdb_httpd_status_codes{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", code=~\"[23].*\"}[$__rate_interval])) != 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}} - {{code}}"
+ }
+ ],
+ "title": "Good response statuses",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The response rate split by error HTTP statuses aggregated across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 37
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster, code) (rate(couchdb_httpd_status_codes{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\", code=~\"[45].*\"}[$__rate_interval])) != 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}} - {{code}}"
+ }
+ ],
+ "title": "Error response statuses",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 43
+ },
+ "id": 19,
+ "targets": [ ],
+ "title": "Replication",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of replicator changes manager processor deaths across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 44
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster) (increase(couchdb_couch_replicator_changes_manager_deaths_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}}"
+ }
+ ],
+ "title": "Replicator changes manager deaths",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of replicator changes queue processor deaths across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 44
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster) (increase(couchdb_couch_replicator_changes_queue_deaths_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}}"
+ }
+ ],
+ "title": "Replicator changes queue deaths",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of replicator changes reader processor deaths across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 44
+ },
+ "id": 22,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster) (increase(couchdb_couch_replicator_changes_reader_deaths_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}}"
+ }
+ ],
+ "title": "Replicator changes reader deaths",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of replicator connection owner crashes across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 50
+ },
+ "id": 23,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster) (increase(couchdb_couch_replicator_connection_owner_crashes_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}}"
+ }
+ ],
+ "title": "Replicator connection owner crashes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of replicator connection worker crashes across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 50
+ },
+ "id": 24,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster) (increase(couchdb_couch_replicator_connection_worker_crashes_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}}"
+ }
+ ],
+ "title": "Replicator connection worker crashes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of replicator job crashes across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 56
+ },
+ "id": 25,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster) (increase(couchdb_couch_replicator_jobs_crashes_total{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}}"
+ }
+ ],
+ "title": "Replicator job crashes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of replicator jobs pending across all nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 56
+ },
+ "id": 26,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchdb_cluster) (couchdb_couch_replicator_jobs_pending{job=~\"$job\", couchdb_cluster=~\"$couchdb_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchdb_cluster}}"
+ }
+ ],
+ "title": "Replicator jobs pending",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-couchdb-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(couchdb_couch_replicator_cluster_is_stable, job)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(couchdb_couch_replicator_cluster_is_stable{job=~\"$job\"}, cluster)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "CouchDB cluster",
+ "multi": true,
+ "name": "couchdb_cluster",
+ "options": [ ],
+ "query": "label_values(couchdb_couch_replicator_cluster_is_stable{job=~\"$job\"}, couchdb_cluster)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache CouchDB overview",
+ "uid": "couchdb-overview",
+ "version": 0
+}
diff --git a/assets/apache-couchdb/rules.yaml b/assets/apache-couchdb/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/apache-couchdb/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/apache-hadoop/alerts.yaml b/assets/apache-hadoop/alerts.yaml
new file mode 100644
index 0000000..dc180a4
--- /dev/null
+++ b/assets/apache-hadoop/alerts.yaml
@@ -0,0 +1,90 @@
+groups:
+- name: apache-hadoop
+ rules:
+ - alert: ApacheHadoopLowHDFSCapacity
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent remaining HDFS usage on {{$labels.hadoop_cluster}}
+ - {{$labels.instance}}, which is below the threshold of 20.'
+ summary: Remaining HDFS cluster capacity is low which may result in DataNode
+ failures or prevent DataNodes from writing data.
+ expr: |
+ min without(job, name) (100 * hadoop_namenode_capacityremaining / clamp_min(hadoop_namenode_capacitytotal, 1)) < 20
+ for: 5m
+ labels:
+ severity: warning
+ - alert: ApacheHadoopHDFSMissingBlocks
+ annotations:
+ description: '{{ printf "%.0f" $value }} HDFS missing blocks on {{$labels.hadoop_cluster}}
+ - {{$labels.instance}}, which is above the threshold of 0.'
+ summary: There are missing blocks in the HDFS cluster which may indicate potential
+ data loss.
+ expr: |
+ max without(job, name) (hadoop_namenode_missingblocks) > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: ApacheHadoopHDFSHighVolumeFailures
+ annotations:
+ description: '{{ printf "%.0f" $value }} HDFS volume failures on {{$labels.hadoop_cluster}}
+ - {{$labels.instance}}, which is above the threshold of 0.'
+ summary: A volume failure in HDFS cluster may indicate hardware failures.
+ expr: |
+ max without(job, name) (hadoop_namenode_volumefailurestotal) > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: ApacheHadoopHighDeadDataNodes
+ annotations:
+ description: '{{ printf "%.0f" $value }} dead HDFS volume failures on {{$labels.hadoop_cluster}}
+ - {{$labels.instance}}, which is above the threshold of 0.'
+ summary: Number of dead DataNodes has increased, which could result in data
+ loss and increased network activity.
+ expr: |
+ max without(job, name) (hadoop_namenode_numdeaddatanodes) > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: ApacheHadoopHighNodeManagerCPUUsage
+ annotations:
+ description: '{{ printf "%.0f" $value }} CPU usage on {{$labels.hadoop_cluster}}
+ - {{$labels.instance}}, which is above the threshold of 80.'
+ summary: A NodeManager has a CPU usage higher than the configured threshold.
+ expr: |
+ max without(job, name) (100 * hadoop_nodemanager_nodecpuutilization) > 80
+ for: 5m
+ labels:
+ severity: critical
+ - alert: ApacheHadoopHighNodeManagerMemoryUsage
+ annotations:
+ description: '{{ printf "%.0f" $value}} percent NodeManager memory usage on
+ {{$labels.hadoop_cluster}} - {{$labels.instance}}, which is above the threshold
+ of 80.'
+ summary: A NodeManager has a higher memory utilization than the configured threshold.
+ expr: |
+ max without(job, name) (100 * hadoop_nodemanager_allocatedgb / clamp_min(hadoop_nodemanager_availablegb + hadoop_nodemanager_allocatedgb,1)) > 80
+ for: 5m
+ labels:
+ severity: critical
+ - alert: ApacheHadoopHighResourceManagerVirtualCoreCPUUsage
+ annotations:
+ description: '{{ printf "%.0f" $value }} virtual core CPU usage on {{$labels.hadoop_cluster}}
+ - {{$labels.instance}}, which is above the threshold of 80.'
+ summary: A ResourceManager has a virtual core CPU usage higher than the configured
+ threshold.
+ expr: |
+ max without(job, name) (100 * hadoop_resourcemanager_allocatedvcores / clamp_min(hadoop_resourcemanager_availablevcores + hadoop_resourcemanager_allocatedvcores,1)) > 80
+ for: 5m
+ labels:
+ severity: critical
+ - alert: ApacheHadoopHighResourceManagerMemoryUsage
+ annotations:
+ description: '{{ printf "%.0f" $value}} percent ResourceManager memory usage
+ on {{$labels.hadoop_cluster}} - {{$labels.instance}}, which is above the threshold
+ of 80.'
+ summary: A ResourceManager has a higher memory utilization than the configured
+ threshold.
+ expr: |
+ max without(job, name) (100 * hadoop_resourcemanager_allocatedmb / clamp_min(hadoop_resourcemanager_availablemb + hadoop_resourcemanager_allocatedmb,1)) > 80
+ for: 5m
+ labels:
+ severity: critical
diff --git a/assets/apache-hadoop/dashboards/apache-hadoop-datanode-overview.json b/assets/apache-hadoop/dashboards/apache-hadoop-datanode-overview.json
new file mode 100644
index 0000000..09277db
--- /dev/null
+++ b/assets/apache-hadoop/dashboards/apache-hadoop-datanode-overview.json
@@ -0,0 +1,488 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-hadoop-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache Hadoop dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "DataNodes",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total number of blocks evicted without being read by the Hadoop DataNode.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 1
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(hadoop_datanode_ramdiskblocksevictedwithoutread{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Unread blocks evicted",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total number of blocks removed by the Hadoop DataNode.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 1
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(hadoop_datanode_blocksremoved{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Blocks removed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Displays the total number of volume failures encountered by the Hadoop DataNode.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 1
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(hadoop_datanode_volumefailures{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Volume failures",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "The DataNode logs.",
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 6,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{job=~\"$job\", hadoop_cluster=~\"$hadoop_cluster\", instance=~\"$instance\", filename=~\".*/hadoop/logs/.*-datanode.*.log\"} |= ``",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "DataNode logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-hadoop-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki Datasource",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(hadoop_datanode_ramdiskblocksevictedwithoutread,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(hadoop_datanode_ramdiskblocksevictedwithoutread{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Hadoop cluster",
+ "multi": true,
+ "name": "hadoop_cluster",
+ "options": [ ],
+ "query": "label_values(hadoop_datanode_ramdiskblocksevictedwithoutread{job=~\"$job\"}, hadoop_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache Hadoop DataNode overview",
+ "uid": "apache-hadoop-datanode-overview",
+ "version": 0
+}
diff --git a/assets/apache-hadoop/dashboards/apache-hadoop-namenode-overview.json b/assets/apache-hadoop/dashboards/apache-hadoop-namenode-overview.json
new file mode 100644
index 0000000..c3fdf41
--- /dev/null
+++ b/assets/apache-hadoop/dashboards/apache-hadoop-namenode-overview.json
@@ -0,0 +1,983 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-hadoop-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache Hadoop dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The DataNodes current state.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ]
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "pieType": "pie",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_namenode_numlivedatanodes{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"FSNamesystem\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - live DataNodes"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_namenode_numdeaddatanodes{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"FSNamesystem\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - dead DataNodes"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_namenode_numstaledatanodes{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - stale DataNodes"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_namenode_numdecommissioningdatanodes{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"FSNamesystem\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - decommissioning DataNodes"
+ }
+ ],
+ "title": "DataNode state",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The storage utilization of the NameNode.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "100 * hadoop_namenode_capacityused{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"FSNamesystem\"} / clamp_min(hadoop_namenode_capacitytotal{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"FSNamesystem\"}, 1)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Capacity utilization",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total number of blocks managed by the NameNode.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 9
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_namenode_blockstotal{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"FSNamesystem\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Total blocks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of blocks reported by DataNodes as missing.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 9
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_namenode_missingblocks{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"FSNamesystem\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Missing blocks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of blocks that are under-replicated.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 9
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_namenode_underreplicatedblocks{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"FSNamesystem\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Under-replicated blocks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of transactions processed by the NameNode since the last checkpoint.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 15
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_namenode_transactionssincelastcheckpoint{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"FSNamesystem\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Transactions since last checkpoint",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The recent increase in number of volume failures on all DataNodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 15
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(hadoop_namenode_volumefailurestotal{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"FSNamesystem\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Volume failures",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total number of files managed by the NameNode.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 21
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_namenode_filestotal{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"FSNamesystem\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Total files",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total load on the NameNode.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 21
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_namenode_totalload{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"FSNamesystem\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Total load",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "The NameNode logs.",
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "id": 11,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{job=~\"$job\", hadoop_cluster=~\"$hadoop_cluster\", instance=~\"$instance\", filename=~\".*/hadoop/logs/.*-namenode.*.log\"} |= ``",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "NameNode logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-hadoop-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki Datasource",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(hadoop_namenode_blockstotal,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(hadoop_namenode_blockstotal{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Hadoop cluster",
+ "multi": true,
+ "name": "hadoop_cluster",
+ "options": [ ],
+ "query": "label_values(hadoop_namenode_blockstotal{job=~\"$job\"}, hadoop_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache Hadoop NameNode overview",
+ "uid": "apache-hadoop-namenode-overview",
+ "version": 0
+}
diff --git a/assets/apache-hadoop/dashboards/apache-hadoop-nodemanager-overview.json b/assets/apache-hadoop/dashboards/apache-hadoop-nodemanager-overview.json
new file mode 100644
index 0000000..133f0fa
--- /dev/null
+++ b/assets/apache-hadoop/dashboards/apache-hadoop-nodemanager-overview.json
@@ -0,0 +1,1740 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-hadoop-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache Hadoop dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of applications currently running for the NodeManager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_applicationsrunning{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Applications running",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of containers currently allocated for the NodeManager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 6,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_allocatedcontainers{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Allocated containers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average time taken for the NodeManager to localize necessary resources for a container.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 12,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_localizationdurationmillisavgtime{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Containers localization duration",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average time taken to launch a container on the NodeManager after the necessary resources have been localized.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_containerlaunchdurationavgtime{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Containers launch duration",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 6
+ },
+ "id": 6,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "JVM",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The Heap and non-heap memory used for the NodeManager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "decmbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 7
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_memheapusedm{name=\"JvmMetrics\", job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - heap"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_memnonheapusedm{name=\"JvmMetrics\", job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - nonheap"
+ }
+ ],
+ "title": "Memory used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The Heap and non-heap memory committed for the NodeManager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "decmbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 7
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_memheapcommittedm{name=\"JvmMetrics\", job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - heap"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_memnonheapcommittedm{name=\"JvmMetrics\", job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - nonheap"
+ }
+ ],
+ "title": "Memory committed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The recent increase in the number of garbage collection events for the NodeManager JVM.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 13
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(hadoop_nodemanager_gccount{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Garbage collection count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The average duration for each garbage collection operation in the NodeManager JVM.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 13
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(hadoop_nodemanager_gctimemillis{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}[$__interval:]) / clamp_min(increase(hadoop_nodemanager_gccount{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}[$__interval:]), 1)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Average garbage collection time",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 19
+ },
+ "id": 11,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Node",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The Heap and non-heap memory used for the NodeManager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "decmbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_memheapusedm{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - heap"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_memnonheapusedm{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - nonheap"
+ }
+ ],
+ "title": "Node memory used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The Heap and non-heap memory committed for the NodeManager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "decmbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_memheapcommittedm{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - heap"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_memnonheapcommittedm{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - nonheap"
+ }
+ ],
+ "title": "Node memory committed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "CPU utilization of the Node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 26
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "100 * hadoop_nodemanager_nodecpuutilization{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Node CPU utilization",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "GPU utilization of the Node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 26
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "100 * hadoop_nodemanager_nodegpuutilization{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Node GPU utilization",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 32
+ },
+ "id": 16,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Containers",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of containers with a given state for the NodeManager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 33
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_containerspaused{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"} > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - paused"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_containerslaunched{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"} > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - launched"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_containerscompleted{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"} > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - completed"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_containersfailed{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"} > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - failed"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_containerskilled{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"} > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - killed"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_containersiniting{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"} > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - initing"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_containersreiniting{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"} > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - reiniting"
+ }
+ ],
+ "title": "Containers state",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total memory used by containers for the NodeManager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "decmbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 33
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_containerusedmemgb{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Containers used memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total virtual memory used by containers for the NodeManager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "decmbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 33
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_containerusedvmemgb{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Containers used virtual memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The memory available and currently allocated for containers by the NodeManager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "decgbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 39
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_availablegb{name=\"NodeManagerMetrics\", job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - available"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_allocatedgb{name=\"NodeManagerMetrics\", job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - allocated"
+ }
+ ],
+ "title": "Containers available memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The virtual available and currently allocated for containers by the NodeManager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 39
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_availablevcores{name=\"NodeManagerMetrics\", job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - available"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_nodemanager_allocatedvcores{name=\"NodeManagerMetrics\", job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}} - allocated"
+ }
+ ],
+ "title": "Containers available virtual cores",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "The Nodemanager logs.",
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 45
+ },
+ "id": 22,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{job=~\"$job\", hadoop_cluster=~\"$hadoop_cluster\", instance=~\"$instance\", filename=~\".*/hadoop/logs/.*-nodemanager.*.log\"} |= ``",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "NodeManager logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-hadoop-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki Datasource",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(hadoop_nodemanager_availablegb,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(hadoop_nodemanager_availablegb{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Hadoop cluster",
+ "multi": true,
+ "name": "hadoop_cluster",
+ "options": [ ],
+ "query": "label_values(hadoop_nodemanager_availablegb{job=~\"$job\"}, hadoop_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache Hadoop NodeManager overview",
+ "uid": "apache-hadoop-nodemanager-overview",
+ "version": 0
+}
diff --git a/assets/apache-hadoop/dashboards/apache-hadoop-resourcemanager-overview.json b/assets/apache-hadoop/dashboards/apache-hadoop-resourcemanager-overview.json
new file mode 100644
index 0000000..bea401c
--- /dev/null
+++ b/assets/apache-hadoop/dashboards/apache-hadoop-resourcemanager-overview.json
@@ -0,0 +1,1051 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-hadoop-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache Hadoop dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of Node Managers by state in the Hadoop ResourceManager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_numactivenms{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"ClusterMetrics\",}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "active"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_numdecommissionednms{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"ClusterMetrics\",}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "decommissioned"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_numlostnms{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"ClusterMetrics\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "lost"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_numunhealthynms{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"ClusterMetrics\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "healthy"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_numrebootednms{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"ClusterMetrics\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "rebooted"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_numshutdownnms{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"ClusterMetrics\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "shutdown"
+ }
+ ],
+ "title": "Node Managers state",
+ "type": "bargauge"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 9
+ },
+ "id": 3,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Applications",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of applications by state for the Hadoop ResourceManager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 10
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_appsrunning{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"QueueMetrics\",q0=\"root\", q1=\"default\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "running"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_appspending{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"QueueMetrics\",q0=\"root\", q1=\"default\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "pending"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_appskilled{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"QueueMetrics\",q0=\"root\", q1=\"default\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "killed"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_appssubmitted{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"QueueMetrics\",q0=\"root\", q1=\"default\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "submitted"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_appscompleted{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"QueueMetrics\",q0=\"root\", q1=\"default\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "completed"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_appsfailed{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"QueueMetrics\",q0=\"root\", q1=\"default\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "failed"
+ }
+ ],
+ "title": "Applications state",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The available memory in the Hadoop ResourceManager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decmbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 18
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_allocatedmb{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"QueueMetrics\",q0=\"root\", q1=\"default\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "allocated"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_availablemb{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"QueueMetrics\",q0=\"root\", q1=\"default\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "available"
+ }
+ ],
+ "title": "Available memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The available virtual cores in the Hadoop ResourceManager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_availablevcores{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"QueueMetrics\",q0=\"root\", q1=\"default\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "available"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_allocatedvcores{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\", name=\"QueueMetrics\",q0=\"root\", q1=\"default\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "allocated"
+ }
+ ],
+ "title": "Available virtual cores",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 7,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "JVM",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The Heap and non-heap memory used for the ResourceManager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decmbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_memheapusedm{name=\"JvmMetrics\", job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "heap"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_memnonheapusedm{name=\"JvmMetrics\", job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "nonheap"
+ }
+ ],
+ "title": "Memory used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The Heap and non-heap memory committed for the ResourceManager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decmbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_memheapcommittedm{name=\"JvmMetrics\", job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "heap"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hadoop_resourcemanager_memnonheapcommittedm{name=\"JvmMetrics\", job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "nonheap"
+ }
+ ],
+ "title": "Memory committed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The recent increase in the number of garbage collection events for the ResourceManager JVM.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 31
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(hadoop_resourcemanager_gccount{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Garbage collection count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The average duration for each garbage collection operation in the ResourceManager JVM.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 31
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(hadoop_resourcemanager_gctimemillis{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}[$__interval:]) / clamp_min(increase(hadoop_resourcemanager_gccount{job=~\"$job\", instance=~\"$instance\", hadoop_cluster=~\"$hadoop_cluster\"}[$__interval:]), 1)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{hadoop_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Average garbage collection time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "The ResourceManager logs.",
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 37
+ },
+ "id": 12,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{job=~\"$job\", hadoop_cluster=~\"$hadoop_cluster\", instance=~\"$instance\", filename=~\".*/hadoop/logs/.*-resourcemanager.*.log\"} |= ``",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "ResourceManager logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-hadoop-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki Datasource",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(hadoop_resourcemanager_activeapplications,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(hadoop_resourcemanager_activeapplications{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Hadoop cluster",
+ "multi": true,
+ "name": "hadoop_cluster",
+ "options": [ ],
+ "query": "label_values(hadoop_resourcemanager_activeapplications{job=~\"$job\"}, hadoop_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache Hadoop ResourceManager overview",
+ "uid": "apache-hadoop-resourcemanager-overview",
+ "version": 0
+}
diff --git a/assets/apache-hadoop/rules.yaml b/assets/apache-hadoop/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/apache-hadoop/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/apache-hbase/alerts.yaml b/assets/apache-hbase/alerts.yaml
new file mode 100644
index 0000000..44aaff7
--- /dev/null
+++ b/assets/apache-hbase/alerts.yaml
@@ -0,0 +1,59 @@
+groups:
+- name: apache-hbase-alerts
+ rules:
+ - alert: HBaseHighHeapMemUsage
+ annotations:
+ description: The heap memory usage for the JVM on instance {{$labels.instance}}
+ in cluster {{$labels.hbase_cluster}} is {{printf "%.0f" $value}} percent,
+ which is above the threshold of 80 percent
+ summary: There is a limited amount of heap memory available to the JVM.
+ expr: |
+ 100 * sum without(context, hostname, processname) (jvm_metrics_mem_heap_used_m{job=~"integrations/apache-hbase"} / clamp_min(jvm_metrics_mem_heap_committed_m{job=~"integrations/apache-hbase"}, 1)) > 80
+ for: 5m
+ labels:
+ severity: warning
+ - alert: HBaseDeadRegionServer
+ annotations:
+ description: '{{$value}} RegionServer(s) in cluster {{$labels.hbase_cluster}}
+ are unresponsive, which is above the threshold of 0. The name(s) of the dead
+ RegionServer(s) are {{$labels.deadregionservers}}'
+ summary: One or more RegionServer(s) has become unresponsive.
+ expr: |
+ server_num_dead_region_servers > 0
+ for: 5m
+ labels:
+ severity: warning
+ - alert: HBaseOldRegionsInTransition
+ annotations:
+ description: '{{printf "%.0f" $value}} percent of RegionServers in transition
+ in cluster {{$labels.hbase_cluster}} are transitioning for longer than expected,
+ which is above the threshold of 50 percent'
+ summary: RegionServers are in transition for longer than expected.
+ expr: |
+ 100 * assignment_manager_rit_count_over_threshold / clamp_min(assignment_manager_rit_count, 1) > 50
+ for: 5m
+ labels:
+ severity: warning
+ - alert: HBaseHighMasterAuthFailRate
+ annotations:
+ description: '{{printf "%.0f" $value}} percent of authentication attempts to
+ the master are failing in cluster {{$labels.hbase_cluster}}, which is above
+ the threshold of 35 percent'
+ summary: A high percentage of authentication attempts to the master are failing.
+ expr: |
+ 100 * rate(master_authentication_failures[5m]) / (clamp_min(rate(master_authentication_successes[5m]), 1) + clamp_min(rate(master_authentication_failures[5m]), 1)) > 35
+ for: 5m
+ labels:
+ severity: warning
+ - alert: HBaseHighRSAuthFailRate
+ annotations:
+ description: '{{printf "%.0f" $value}} percent of authentication attempts to
+ the RegionServer {{$labels.instance}} are failing in cluster {{$labels.hbase_cluster}},
+ which is above the threshold of 35 percent'
+ summary: A high percentage of authentication attempts to a RegionServer are
+ failing.
+ expr: |
+ 100 * rate(region_server_authentication_failures[5m]) / (clamp_min(rate(region_server_authentication_successes[5m]), 1) + clamp_min(rate(region_server_authentication_failures[5m]), 1)) > 35
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/apache-hbase/dashboards/apache-hbase-cluster-overview.json b/assets/apache-hbase/dashboards/apache-hbase-cluster-overview.json
new file mode 100644
index 0000000..93455b4
--- /dev/null
+++ b/assets/apache-hbase/dashboards/apache-hbase-cluster-overview.json
@@ -0,0 +1,1336 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "apache-hbase-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache HBase Dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Displays the current active and backup masters.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "fillOpacity": 70,
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineWidth": 1
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "yellow",
+ "index": 1,
+ "text": "Backup"
+ },
+ "1": {
+ "color": "blue",
+ "index": 0,
+ "text": "Active"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "maxDataPoints": 100,
+ "options": {
+ "colWidth": 0.90000000000000002,
+ "legend": {
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "rowHeight": 0.90000000000000002,
+ "showValue": "never",
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max without (clusterid,deadregionservers,liveregionservers,servername,zookeeperquorum,isactivemaster) (server_num_region_servers{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", isactivemaster=\"true\"} * 0 + 1 )",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "(max without (clusterid,deadregionservers,liveregionservers,servername,zookeeperquorum,isactivemaster) (server_num_region_servers{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", isactivemaster=\"false\"}) * 0)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Master status history",
+ "transformations": [ ],
+ "type": "status-history"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of RegionServers that are currently live.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 5,
+ "x": 0,
+ "y": 6
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "value"
+ },
+ "pluginVersion": "10.3.0-62488",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "server_num_region_servers{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", isactivemaster=\"true\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}}"
+ }
+ ],
+ "title": "Live RegionServers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of RegionServers that are currently dead.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 5,
+ "x": 5,
+ "y": 6
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "value"
+ },
+ "pluginVersion": "10.3.0-62488",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "server_num_dead_region_servers{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", isactivemaster=\"true\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}}"
+ }
+ ],
+ "title": "Dead RegionServers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Servers for a cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "align": "left",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RegionServer"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "",
+ "url": "/d/apache-hbase-regionserver-overview?from=${__from}&to=${__to}&var-instance=${__data.fields[\"RegionServer\"]}"
+ }
+ ]
+ },
+ {
+ "id": "mappings",
+ "value": [ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Role"
+ },
+ "properties": [
+ {
+ "id": "noValue",
+ "value": "RegionServer"
+ },
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "options": {
+ "false": {
+ "index": 1,
+ "text": "backup master"
+ },
+ "true": {
+ "color": "text",
+ "index": 0,
+ "text": "active master"
+ }
+ },
+ "type": "value"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 14,
+ "x": 10,
+ "y": 6
+ },
+ "id": 5,
+ "options": {
+ "cellHeight": "md",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [ ]
+ },
+ "pluginVersion": "10.3.0-62488",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "label_replace(server_num_region_servers{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"}, \"master_instance\", \"$1\", \"instance\", \"(.+)\")",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}}"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "label_replace(server_num_reference_files{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"}, \"region_server_instance\", \"$1\", \"instance\", \"(.+)\")",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}}"
+ }
+ ],
+ "title": "Servers",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": { }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Value": true,
+ "Value #A": true,
+ "Value #B": true,
+ "__name__": true,
+ "__name__ 1": true,
+ "__name__ 2": true,
+ "clusterid": true,
+ "clusterid 1": true,
+ "clusterid 2": true,
+ "context": true,
+ "context 1": true,
+ "context 2": true,
+ "hbase_cluster": false,
+ "hbase_cluster 1": true,
+ "hbase_cluster 2": true,
+ "instance": true,
+ "instance 1": false,
+ "instance 2": true,
+ "isactivemaster": false,
+ "isactivemaster 1": false,
+ "isactivemaster 2": true,
+ "job": true,
+ "job 1": true,
+ "job 2": true,
+ "liveregionservers": true,
+ "liveregionservers 1": true,
+ "liveregionservers 2": true,
+ "servername": false,
+ "servername 1": false,
+ "servername 2": true,
+ "zookeeperquorum": true,
+ "zookeeperquorum 1": true,
+ "zookeeperquorum 2": true
+ },
+ "indexByName": {
+ "Time": 5,
+ "Value #A": 12,
+ "Value #B": 13,
+ "__name__": 6,
+ "clusterid": 7,
+ "context": 8,
+ "hbase_cluster": 4,
+ "hostname": 1,
+ "instance": 2,
+ "isactivemaster": 3,
+ "job": 9,
+ "liveregionservers": 10,
+ "servername": 0,
+ "zookeeperquorum": 11
+ },
+ "renameByName": {
+ "Time": "",
+ "deadregionservers": "Dead server",
+ "hbase_cluster": "Cluster",
+ "hostname": "Hostname",
+ "instance": "Instance",
+ "instance 1": "",
+ "isactivemaster": "Role",
+ "isactivemaster 1": "Master",
+ "master_instance": "Master",
+ "region_server_instance": "RegionServer",
+ "servername": "Servername",
+ "servername 1": "Servername"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Panel to report on the status of integration alerts.",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 14
+ },
+ "id": 6,
+ "options": {
+ "alertInstanceLabelFilter": "{job=~\"${job:regex}\", hbase_cluster=~\"${hbase_cluster:regex}\"}",
+ "alertName": "",
+ "dashboardAlerts": false,
+ "folder": "",
+ "groupBy": [ ],
+ "groupMode": "default",
+ "maxItems": 20,
+ "sortOrder": 1,
+ "stateFilter": {
+ "error": true,
+ "firing": true,
+ "noData": true,
+ "normal": true,
+ "pending": true
+ },
+ "viewMode": "list"
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "master_num_open_connections{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}}"
+ }
+ ],
+ "title": "Alerts",
+ "type": "alertlist"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Heap memory usage for the JVM.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 14
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_metrics_mem_heap_used_m{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", processname=~\"Master\"} / clamp_min(jvm_metrics_mem_heap_committed_m{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", processname=~\"Master\"}, 1)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "JVM heap memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of open connections to the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 22
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (master_num_open_connections{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}} - masters"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (region_server_num_open_connections{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}} - RegionServers"
+ }
+ ],
+ "title": "Connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Volume of successful and unsuccessful authentications.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 22
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(master_authentication_successes{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}} - masters success"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(master_authentication_failures{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}} - masters failure"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(region_server_authentication_successes{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}} - rs success"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(region_server_authentication_failures{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}} - rs failure"
+ }
+ ],
+ "title": "Authentications",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The size of the queue of requests, operations, and tasks to be processed by the master.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 30
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "master_queue_size{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Master queue size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of calls waiting to be processed by the master.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 30
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (master_num_calls_in_general_queue{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}} - general"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (master_num_calls_in_replication_queue{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}} - replication"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (master_num_calls_in_read_queue{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}} - read"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (master_num_calls_in_write_queue{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}} - write"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (master_num_calls_in_scan_queue{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}} - scan"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (master_num_calls_in_priority_queue{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}} - priority"
+ }
+ ],
+ "title": "Master queued calls",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of regions in transition for the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 38
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "assignment_manager_rit_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}}"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "assignment_manager_rit_count_over_threshold{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}} - old"
+ }
+ ],
+ "title": "Regions in transition",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The age of the longest region in transition for the master of the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 38
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "assignment_manager_rit_oldest_age{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hbase_cluster}}"
+ }
+ ],
+ "title": "Oldest region in transition",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-hbase-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(master_num_open_connections,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "HBase cluster",
+ "multi": true,
+ "name": "hbase_cluster",
+ "options": [ ],
+ "query": "label_values(master_num_open_connections{job=~\"$job\"},hbase_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache HBase cluster overview",
+ "uid": "apache-hbase-cluster-overview",
+ "version": 0
+}
diff --git a/assets/apache-hbase/dashboards/apache-hbase-logs.json b/assets/apache-hbase/dashboards/apache-hbase-logs.json
new file mode 100644
index 0000000..f3e4759
--- /dev/null
+++ b/assets/apache-hbase/dashboards/apache-hbase-logs.json
@@ -0,0 +1,325 @@
+{
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "apache-hbase-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache HBase Dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Logs volume grouped by \"level\" label.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "drawStyle": "bars",
+ "fillOpacity": 50,
+ "stacking": {
+ "mode": "normal"
+ }
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)merg|(F|f)atal|(A|a)lert|(C|c)rit.*"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)(rr.*|RR.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(W|w)(arn.*|ARN.*|rn|RN)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(N|n)(otice|ote)|(I|i)(nf.*|NF.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "dbg.*|DBG.*|(D|d)(EBUG|ebug)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(T|t)(race|RACE)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "logs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24
+ },
+ "id": 1,
+ "interval": "30s",
+ "options": {
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "sum by (level) (count_over_time({job=~\"integrations/apache-hbase\",job=~\"$job\",hbase_cluster=~\"$hbase_cluster\",instance=~\"$instance\",logger=~\"$logger\",level=~\"$level\"}\n|~ \"$regex_search\"\n\n[$__interval]))\n",
+ "legendFormat": "{{ level }}"
+ }
+ ],
+ "title": "Logs volume",
+ "transformations": [
+ {
+ "id": "renameByRegex",
+ "options": {
+ "regex": "Value",
+ "renamePattern": "logs"
+ }
+ }
+ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "gridPos": {
+ "h": 18,
+ "w": 24
+ },
+ "id": 2,
+ "options": {
+ "dedupStrategy": "exact",
+ "enableLogDetails": true,
+ "prettifyLogMessage": true,
+ "showTime": false,
+ "wrapLogMessage": true
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "{job=~\"integrations/apache-hbase\",job=~\"$job\",hbase_cluster=~\"$hbase_cluster\",instance=~\"$instance\",logger=~\"$logger\",level=~\"$level\"} \n|~ \"$regex_search\"\n\n\n"
+ }
+ ],
+ "title": "Logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "apache-hbase-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values({job=~\"integrations/apache-hbase\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Hbase_cluster",
+ "multi": true,
+ "name": "hbase_cluster",
+ "query": "label_values({job=~\"integrations/apache-hbase\",job=~\"$job\"}, hbase_cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values({job=~\"integrations/apache-hbase\",job=~\"$job\",hbase_cluster=~\"$hbase_cluster\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Logger",
+ "multi": true,
+ "name": "logger",
+ "query": "label_values({job=~\"integrations/apache-hbase\",job=~\"$job\",hbase_cluster=~\"$hbase_cluster\",instance=~\"$instance\"}, logger)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Level",
+ "multi": true,
+ "name": "level",
+ "query": "label_values({job=~\"integrations/apache-hbase\",job=~\"$job\",hbase_cluster=~\"$hbase_cluster\",instance=~\"$instance\",logger=~\"$logger\"}, level)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "",
+ "value": ""
+ },
+ "label": "Regex search",
+ "name": "regex_search",
+ "options": [
+ {
+ "selected": true,
+ "text": "",
+ "value": ""
+ }
+ ],
+ "query": "",
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timezone": "utc",
+ "title": "Apache HBase logs overview",
+ "uid": "apache-hbase-logs-overview"
+}
diff --git a/assets/apache-hbase/dashboards/apache-hbase-regionserver-overview.json b/assets/apache-hbase/dashboards/apache-hbase-regionserver-overview.json
new file mode 100644
index 0000000..a3ff08d
--- /dev/null
+++ b/assets/apache-hbase/dashboards/apache-hbase-regionserver-overview.json
@@ -0,0 +1,1572 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-hbase-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache HBase dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of regions hosted by the Region Server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 3,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.3.0-62488",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (server_region_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Regions",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of store files on disk currently managed by the Region Server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 3,
+ "x": 3,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.3.0-62488",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (server_store_file_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Store files",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The total size of the store files on disk managed by the Region Server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 3,
+ "x": 6,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "namePlacement": "auto",
+ "orientation": "vertical",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.3.0-62488",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (server_store_file_size{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Store file size",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of open connections to the Region Server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 3,
+ "x": 9,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.3.0-62488",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (region_server_num_open_connections{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "RPC connections",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Heap memory usage for the JVM.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_metrics_mem_heap_used_m{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\", processname=\"RegionServer\"} / clamp_min(jvm_metrics_mem_heap_committed_m{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\", processname=\"RegionServer\"}, 1)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "JVM heap memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of requests received by the Region Server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 16,
+ "x": 0,
+ "y": 8
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(server_total_request_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Requests received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Requests received by the Region Server, broken down by type.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ],
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 8
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "pieType": "pie",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(server_read_request_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "read"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(server_write_request_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "write"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(server_cp_request_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "copy"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(server_filtered_read_request_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "filtered read"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(server_rpc_get_request_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "rpc get"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(server_rpc_scan_request_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "rpc scan"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(server_rpc_full_scan_request_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "rpc full scan"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(server_rpc_mutate_request_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "rpc mutate"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(server_rpc_multi_request_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "rpc multi"
+ }
+ ],
+ "title": "Requests overview",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of regions hosted by the Region Server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "server_region_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Region count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of open connections to the Region Server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "region_server_num_open_connections{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "RPC connection count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of store files on disk currently managed by the Region Server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "server_store_file_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Store file count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The total size of the store files on disk managed by the Region Server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "server_store_file_size{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Store file size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of calls waiting to be processed by the Region Server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (region_server_num_calls_in_general_queue{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "general"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (region_server_num_calls_in_replication_queue{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "replication"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (region_server_num_calls_in_read_queue{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "read"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (region_server_num_calls_in_write_queue{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "write"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (region_server_num_calls_in_scan_queue{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "scan"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (region_server_num_calls_in_priority_queue{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "priority"
+ }
+ ],
+ "title": "Queued calls",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of operations that are slow, as determined by HBase.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 32
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(server_slow_append_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "append"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(server_slow_put_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "put"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(server_slow_delete_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "delete"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(server_slow_get_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "get"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(server_slow_increment_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "increment"
+ }
+ ],
+ "title": "Slow operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The percent of time that requests hit the cache.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 40
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "server_block_cache_express_hit_percent{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Cache hit percentage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of successful and unsuccessful authentications.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 40
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(region_server_authentication_successes{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "success"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, hbase_cluster) (rate(region_server_authentication_failures{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "failure"
+ }
+ ],
+ "title": "Authentications",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-hbase-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(master_num_open_connections,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Apache HBase cluster",
+ "multi": true,
+ "name": "hbase_cluster",
+ "options": [ ],
+ "query": "label_values(master_num_open_connections{job=~\"$job\"},hbase_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(server_region_count{job=~\"$job\", hbase_cluster=~\"$hbase_cluster\"},instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache HBase RegionServer overview",
+ "uid": "apache-hbase-regionserver-overview",
+ "version": 0
+}
diff --git a/assets/apache-hbase/rules.yaml b/assets/apache-hbase/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/apache-hbase/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/apache-http/alerts.yaml b/assets/apache-http/alerts.yaml
new file mode 100644
index 0000000..2a508de
--- /dev/null
+++ b/assets/apache-http/alerts.yaml
@@ -0,0 +1,41 @@
+groups:
+- name: apache-http
+ rules:
+ - alert: ApacheDown
+ annotations:
+ description: Apache is down on {{ $labels.instance }}.
+ summary: Apache is down.
+ expr: apache_up == 0
+ for: 5m
+ labels:
+ severity: warning
+ - alert: ApacheRestart
+ annotations:
+ description: Apache has just been restarted on {{ $labels.instance }}.
+ summary: Apache restart.
+ expr: apache_uptime_seconds_total / 60 < 1
+ for: "0"
+ labels:
+ severity: info
+ - alert: ApacheWorkersLoad
+ annotations:
+ description: |
+ Apache workers in busy state approach the max workers count 80% workers busy on {{ $labels.instance }}.
+ The current value is {{ $value }}%.
+ summary: Apache workers load is too high.
+ expr: |
+ (sum by (instance) (apache_workers{state="busy"}) / sum by (instance) (apache_scoreboard) ) * 100 > 80
+ for: 15m
+ labels:
+ severity: warning
+ - alert: ApacheResponseTimeTooHigh
+ annotations:
+ description: |
+ Apache average response time is above the threshold of 5000 ms on {{ $labels.instance }}.
+ The current value is {{ $value }} ms.
+ summary: Apache response time is too high.
+ expr: |
+ increase(apache_duration_ms_total[5m])/increase(apache_accesses_total[5m]) > 5000
+ for: 15m
+ labels:
+ severity: warning
diff --git a/assets/apache-http/dashboards/apache-http.json b/assets/apache-http/dashboards/apache-http.json
new file mode 100644
index 0000000..3f9fc82
--- /dev/null
+++ b/assets/apache-http/dashboards/apache-http.json
@@ -0,0 +1,872 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 1,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-http-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache HTTP dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.4.5",
+ "targets": [
+ {
+ "expr": "apache_uptime_seconds_total{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "step": 240
+ }
+ ],
+ "title": "Uptime",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 4,
+ "y": 0
+ },
+ "id": 3,
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "titleSize": 2
+ },
+ "textMode": "name"
+ },
+ "pluginVersion": "8.4.5",
+ "targets": [
+ {
+ "exemplar": false,
+ "expr": "apache_info{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ version }}",
+ "step": 240
+ }
+ ],
+ "title": "Version",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-GrYlRd"
+ },
+ "custom": {
+ "fillOpacity": 70,
+ "lineWidth": 0,
+ "spanNulls": false
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Down"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Up"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 16,
+ "x": 8,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "alignValue": "left",
+ "legend": {
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "mergeValues": false,
+ "rowHeight": 0.90000000000000002,
+ "showValue": "never",
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.4.5",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "apache_up{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Apache up",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Apache Up / Down",
+ "type": "state-timeline"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineStyle": {
+ "fill": "solid"
+ },
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Bytes sent"
+ },
+ "properties": [
+ {
+ "id": "custom.axisPlacement",
+ "value": "right"
+ },
+ {
+ "id": "custom.drawStyle",
+ "value": "bars"
+ },
+ {
+ "id": "unit",
+ "value": "Bps"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 1
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.4.5",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": false,
+ "expr": "rate(apache_accesses_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Calls",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": false,
+ "expr": "rate(apache_sent_kilobytes_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) * 1000",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Bytes sent",
+ "refId": "B"
+ }
+ ],
+ "title": "Load",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 1
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.4.5",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": false,
+ "expr": "increase(apache_duration_ms_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])/increase(apache_accesses_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Average response time",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Response time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "stepAfter",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 24,
+ "x": 0,
+ "y": 2
+ },
+ "id": 7,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "8.4.5",
+ "targets": [
+ {
+ "expr": "apache_scoreboard{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ state }}",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Apache scoreboard statuses",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "stepAfter",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 3
+ },
+ "id": 8,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.4.5",
+ "targets": [
+ {
+ "expr": "apache_workers{job=~\"$job\", instance=~\"$instance\"}\n",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ state }}",
+ "step": 240
+ }
+ ],
+ "title": "Apache worker statuses",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 3
+ },
+ "id": 9,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.4.5",
+ "targets": [
+ {
+ "expr": "apache_cpuload{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Load",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Apache CPU load",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-http-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "hide": 0,
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "text": "",
+ "value": ""
+ },
+ "datasource": "$prometheus_datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(apache_up, job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {
+ "text": "",
+ "value": ""
+ },
+ "datasource": "$prometheus_datasource",
+ "hide": 0,
+ "includeAll": false,
+ "label": "instance",
+ "multi": false,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(apache_up{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache HTTP server",
+ "uid": "apache-http",
+ "version": 0
+}
diff --git a/assets/apache-http/rules.yaml b/assets/apache-http/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/apache-http/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/apache-mesos/alerts.yaml b/assets/apache-mesos/alerts.yaml
new file mode 100644
index 0000000..3fe1bdc
--- /dev/null
+++ b/assets/apache-mesos/alerts.yaml
@@ -0,0 +1,52 @@
+groups:
+- name: apache-mesos
+ rules:
+ - alert: ApacheMesosHighMemoryUsage
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent memory usage on {{$labels.mesos_cluster}},
+ which is above the threshold of 90.'
+ summary: There is a high memory usage for the cluster.
+ expr: |
+ min without(instance, job, type) (mesos_master_mem{type="percent"}) > 90
+ for: 5m
+ labels:
+ severity: warning
+ - alert: ApacheMesosHighDiskUsage
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent disk usage on {{$labels.mesos_cluster}},
+ which is above the threshold of 90.'
+ summary: There is a high disk usage for the cluster.
+ expr: |
+ min without(instance, job, type) (mesos_master_disk{type="percent"}) > 90
+ for: 5m
+ labels:
+ severity: critical
+ - alert: ApacheMesosUnreachableTasks
+ annotations:
+ description: '{{ printf "%.0f" $value }} unreachable tasks on {{$labels.mesos_cluster}},
+ which is above the threshold of 3.'
+ summary: There are an unusually high number of unreachable tasks.
+ expr: |
+ max without(instance, job, state) (mesos_master_task_states_current{state="unreachable"}) > 3
+ for: 5m
+ labels:
+ severity: warning
+ - alert: ApacheMesosNoLeaderElected
+ annotations:
+ description: There is no cluster coordinator on {{$labels.mesos_cluster}}.
+ summary: There is currently no cluster coordinator.
+ expr: |
+ max without(instance, job) (mesos_master_elected) == 0
+ for: 1m
+ labels:
+ severity: critical
+ - alert: ApacheMesosInactiveAgents
+ annotations:
+ description: '{{ printf "%.0f" $value }} inactive agent clients over the last
+ 5m which is above the threshold of 1.'
+ summary: There are currently inactive agent clients.
+ expr: |
+ max without(instance, job, state) (mesos_master_slaves_state{state=~"connected_inactive|disconnected_inactive"}) > 1
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/apache-mesos/dashboards/apache-mesos-overview.json b/assets/apache-mesos/dashboards/apache-mesos-overview.json
new file mode 100644
index 0000000..655af54
--- /dev/null
+++ b/assets/apache-mesos/dashboards/apache-mesos-overview.json
@@ -0,0 +1,1653 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Uptime of the Mesos master process.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.5.2-cloud.2.0cb5a501",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max by(mesos_cluster) (mesos_master_uptime_seconds{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mesos_cluster}}"
+ }
+ ],
+ "title": "Master uptime",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "CPUs available in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 5,
+ "x": 4,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.5.2-cloud.2.0cb5a501",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max by(mesos_cluster) (mesos_master_cpus{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\", type=\"total\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mesos_cluster}}"
+ }
+ ],
+ "title": "CPUs available",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Amount of memory available in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 5,
+ "x": 9,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.5.2-cloud.2.0cb5a501",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max by(mesos_cluster) (mesos_master_mem{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\", type=\"total\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mesos_cluster}}"
+ }
+ ],
+ "title": "Memory available",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total number of GPUs available in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 5,
+ "x": 14,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.5.2-cloud.2.0cb5a501",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max by(mesos_cluster) (mesos_master_gpus{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\", type=\"total\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mesos_cluster}}"
+ }
+ ],
+ "title": "GPUs available",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current amount of bytes inside the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 5,
+ "x": 19,
+ "y": 0
+ },
+ "id": 6,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.5.2-cloud.2.0cb5a501",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max by(mesos_cluster) (mesos_master_disk{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\", type=\"total\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mesos_cluster}}"
+ }
+ ],
+ "title": "Disk available",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The percentage of allocated memory in use by the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max by(mesos_cluster) (mesos_master_mem{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\", type=\"percent\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mesos_cluster}}"
+ }
+ ],
+ "title": "Memory utilization",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The percentage of allocated disk storage in use by the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max by(mesos_cluster) (mesos_master_disk{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\", type=\"percent\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mesos_cluster}}"
+ }
+ ],
+ "title": "Disk utilization",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of events in the event queue.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "events"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max by(mesos_cluster, type) (mesos_master_event_queue_length{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mesos_cluster}} - {{type}}"
+ }
+ ],
+ "title": "Events in queue",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of messages being processed.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "messages"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max by(mesos_cluster, type) (increase(mesos_master_messages{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\"}[$__interval:])) > 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{mesos_cluster}} - {{type}}"
+ }
+ ],
+ "title": "Messages",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Duration of fetching and storing the Mesos agent registrar state.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 18,
+ "x": 0,
+ "y": 18
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max by(mesos_cluster) (mesos_registrar_state_store_ms{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\", type=\"mean\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mesos_cluster}} - store"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max by(mesos_cluster) (mesos_registrar_state_fetch_ms{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mesos_cluster}} - fetch"
+ }
+ ],
+ "title": "Registrar state",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Whether or not the registrar log was properly recovered.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Not OK"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "OK"
+ }
+ },
+ "type": "value"
+ },
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "color": "text",
+ "index": 2,
+ "text": "-"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": ""
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 18
+ },
+ "id": 12,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.5.2-cloud.2.0cb5a501",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max by(mesos_cluster) (mesos_registrar_log_recovered{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mesos_cluster}}"
+ }
+ ],
+ "title": "Registrar log recovered",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 13,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Allocator",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of how often the allocator is performing allocations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "allocs/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 25
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max by(mesos_cluster) (rate(mesos_master_allocation_run_ms_count{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mesos_cluster}}"
+ }
+ ],
+ "title": "Allocation runs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Time spent in the allocation algorithm in ms.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 6,
+ "y": 25
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max by(mesos_cluster) (mesos_master_allocation_run_ms{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mesos_cluster}}"
+ }
+ ],
+ "title": "Allocation duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Allocation batch latency in ms",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 12,
+ "y": 25
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max by(mesos_cluster) (mesos_master_allocation_run_latency_ms{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mesos_cluster}}"
+ }
+ ],
+ "title": "Allocation latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of dispatch events in the allocator mesos event queue.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "events"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 25
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max by(mesos_cluster) (mesos_master_event_queue_dispatches{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mesos_cluster}}"
+ }
+ ],
+ "title": "Event queue dispatches",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 31
+ },
+ "id": 18,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Agents",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The percentage of allocated memory in use by the agent.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max by(mesos_cluster) (100 * mesos_slave_mem_used_bytes{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\"} / clamp_min(mesos_slave_mem_bytes{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\"},1))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mesos_cluster}}"
+ }
+ ],
+ "title": "Agent memory utilization",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The percentage of allocated disk storage in use by the agent.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 32
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "max by(mesos_cluster) (100 * mesos_slave_disk_used_bytes{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\"} / clamp_min(mesos_slave_disk_bytes{job=~\"$job\", instance=~\"$instance\", mesos_cluster=~\"$mesos_cluster\"},1))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mesos_cluster}}"
+ }
+ ],
+ "title": "Agent disk utilization",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 38
+ },
+ "id": 21,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Logs",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "The application logs for the Mesos master node.",
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 39
+ },
+ "id": 22,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{job=~\"$job\", filename=~\"/var/log/mesos/master/.*\", mesos_cluster=~\"$mesos_cluster\"} |= ``",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Master logs",
+ "type": "logs"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "The application logs for the Mesos agent node.",
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 47
+ },
+ "id": 23,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{job=~\"$job\", filename=~\"/var/log/mesos/agent/.*\", mesos_cluster=~\"$mesos_cluster\"} |= ``",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Agent logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-mesos-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Prometheus data source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(mesos_exporter_build_info,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(mesos_exporter_build_info{job=~\"$job\", instance=~\"$instance\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Mesos cluster",
+ "multi": true,
+ "name": "mesos_cluster",
+ "options": [ ],
+ "query": "label_values(mesos_exporter_build_info{job=~\"$job\", instance=~\"$instance\"}, mesos_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache Mesos overview",
+ "uid": "apache-mesos-overview",
+ "version": 0
+}
diff --git a/assets/apache-mesos/rules.yaml b/assets/apache-mesos/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/apache-mesos/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/apache-solr/alerts.yaml b/assets/apache-solr/alerts.yaml
new file mode 100644
index 0000000..1a69484
--- /dev/null
+++ b/assets/apache-solr/alerts.yaml
@@ -0,0 +1,93 @@
+groups:
+- name: apache-solr
+ rules:
+ - alert: ApacheSolrZookeeperChangeInEnsembleSize
+ annotations:
+ description: Zookeeper host {{$labels.zk_host}} has had an ensemble change of
+ {{ printf "%.0f" $value }} over the last 5 minutes
+ summary: Changes in the ZooKeeper ensemble size can affect the stability and
+ performance of the cluster.
+ expr: |
+ changes(solr_zookeeper_ensemble_size[5m]) > 0
+ for: 5m
+ labels:
+ severity: warning
+ - alert: ApacheSolrHighCPUUsageCritical
+ annotations:
+ description: '{{$labels.instance}} on cluster {{$labels.solr_cluster}} has had
+ a system CPU load of {{ printf "%.0f" $value }}%, which is above the threshold
+ of 85.'
+ summary: High CPU load can indicate that Solr nodes are under heavy load, potentially
+ impacting performance.
+ expr: |
+ 100 * sum without (base_url, item) (avg_over_time(solr_metrics_jvm_os_cpu_load{item="systemCpuLoad"}[5m])) > 85
+ for: 5m
+ labels:
+ severity: critical
+ - alert: ApacheSolrHighCPUUsageWarning
+ annotations:
+ description: '{{$labels.instance}} on cluster {{$labels.solr_cluster}} has had
+ a system CPU load of {{ printf "%.0f" $value }}%, which is above the threshold
+ of 75.'
+ summary: High CPU load can indicate that Solr nodes are under heavy load, potentially
+ impacting performance.
+ expr: |
+ 100 * sum without (base_url, item) (avg_over_time(solr_metrics_jvm_os_cpu_load{item="systemCpuLoad"}[5m])) > 75
+ for: 5m
+ labels:
+ severity: warning
+ - alert: ApacheSolrHighHeapMemoryUsageCritical
+ annotations:
+ description: |
+ {{$labels.instance}} on cluster {{$labels.solr_cluster}} has had high memory usage of {{ printf "%.0f" $value }}%, which is above the thresold of 75.
+ summary: High heap memory usage can lead to garbage collection issues, out-of-memory
+ errors, and overall system instability.
+ expr: |
+ 100 * sum without(item, base_url)(solr_metrics_jvm_memory_heap_bytes{item="used"}) / clamp_min(sum without(item, base_url)(solr_metrics_jvm_memory_heap_bytes{item="max"}), 1) > 75
+ for: 5m
+ labels:
+ severity: critical
+ - alert: ApacheSolrHighHeapMemoryUsageWarning
+ annotations:
+ description: |
+ {{$labels.instance}} on cluster {{$labels.solr_cluster}} has had high memory usage of {{ printf "%.0f" $value }}%, which is above the thresold of 85.
+ summary: High heap memory usage can lead to garbage collection issues, out-of-memory
+ errors, and overall system instability.
+ expr: |
+ 100 * sum without(item, base_url)(solr_metrics_jvm_memory_heap_bytes{item="used"}) / clamp_min(sum without(item, base_url)(solr_metrics_jvm_memory_heap_bytes{item="max"}), 1) > 85
+ for: 5m
+ labels:
+ severity: warning
+ - alert: ApacheSolrLowCacheHitRatio
+ annotations:
+ description: |
+ {{$labels.instance}} on cluster {{$labels.solr_cluster}} has had a low cache hit ratio of {{ printf "%.0f" $value }}% on core {{$labels.core}} of type {{$labels.type}}, which is under the threshold of 75.
+ summary: Low cache hit ratios can lead to increased disk I/O and slower query
+ response times.
+ expr: |
+ 100 * sum without(base_url, category, collection, item, replica, shard) (solr_metrics_core_searcher_cache_ratio{item="hitratio", type=~"documentCache|filterCache|queryResultCache"}) < 75
+ for: 10m
+ labels:
+ severity: warning
+ - alert: ApacheSolrHighCoreErrors
+ annotations:
+ description: |
+ {{$labels.instance}} on cluster {{$labels.solr_cluster}} has had a high amount of core errors {{ printf "%.0f" $value }}% on core {{$labels.core}}, which is above the threshold of 15.
+ summary: A spike in core errors can indicate serious issues at the core level,
+ affecting data integrity and availability.
+ expr: |
+ 100 * sum without(base_url, category, collection, handler, replica, shard) (increase(solr_metrics_core_errors_total[10m]) / clamp_min(avg_over_time(solr_metrics_core_errors_total[10m]), 1)) > 15
+ for: 10m
+ labels:
+ severity: warning
+ - alert: ApacheSolrHighDocumentIndexing
+ annotations:
+ description: |
+ {{$labels.instance}} on cluster {{$labels.solr_cluster}} has had a high document indexing value of {{ printf "%.0f" $value }}% on core {{$labels.core}}, which is above the threshold of 30.
+ summary: A sudden spike in document indexing could indicate unintended or malicious
+ bulk updates.
+ expr: |
+ 100 * sum without(base_url, category, collection, handler, replica, shard) (increase(solr_metrics_core_update_handler_adds_total[15m]) / clamp_min(avg_over_time(solr_metrics_core_update_handler_adds_total[15m]), 1)) > 30
+ for: 15m
+ labels:
+ severity: warning
diff --git a/assets/apache-solr/dashboards/apache-solr-cluster-overview.json b/assets/apache-solr/dashboards/apache-solr-cluster-overview.json
new file mode 100644
index 0000000..51eed53
--- /dev/null
+++ b/assets/apache-solr/dashboards/apache-solr-cluster-overview.json
@@ -0,0 +1,1963 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-solr-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache Solr dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of live nodes in the Solr cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "value",
+ "wideLayout": true
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "disableTextWrap": false,
+ "expr": "min by (job, solr_cluster) (solr_collections_live_nodes{job=~\"$job\", solr_cluster=~\"$solr_cluster\"})",
+ "fullMetaSearch": false,
+ "includeNullMetadata": true,
+ "instant": false,
+ "legendFormat": "__auto",
+ "range": true,
+ "useBackend": false
+ }
+ ],
+ "title": "Live nodes",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Status of ZooKeeper, integral for cluster coordination.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "custom": {
+ "align": "left",
+ "cellOptions": {
+ "type": "color-text"
+ },
+ "inspect": false
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Unavailable"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Available"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "__name__"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "status"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "solr_cluster"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Solr cluster"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "zk_host"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Zookeeper host"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Status"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 6,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": [ ],
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "solr_zookeeper_status{job=~\"$job\", solr_cluster=~\"$solr_cluster\"}",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{zk_host}}"
+ }
+ ],
+ "title": "Zookeeper status",
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Size of the ZooKeeper ensemble.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 12,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "solr_zookeeper_ensemble_size{job=~\"$job\", solr_cluster=~\"$solr_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{zk_host}}"
+ }
+ ],
+ "title": "Zookeeper ensemble size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Panel to report on the status of firing alerts.",
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "alertInstanceLabelFilter": "{job=~\"$job\", solr_cluster=~\"$solr_cluster\"}",
+ "alertName": "",
+ "dashboardAlerts": false,
+ "groupBy": [ ],
+ "groupMode": "default",
+ "maxItems": 20,
+ "sortOrder": 1,
+ "stateFilter": {
+ "error": true,
+ "firing": true,
+ "noData": false,
+ "normal": false,
+ "pending": true
+ },
+ "viewMode": "list"
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Alerts",
+ "type": "alertlist"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Percent of running shards in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "yellow",
+ "value": 80
+ },
+ {
+ "color": "green",
+ "value": 95
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 0,
+ "y": 6
+ },
+ "id": 6,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "value",
+ "wideLayout": true
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "disableTextWrap": false,
+ "expr": "100 * sum(solr_collections_shard_state{job=~\"$job\", solr_cluster=~\"$solr_cluster\"}) / count(solr_collections_shard_state{job=~\"$job\", solr_cluster=~\"$solr_cluster\"})",
+ "fullMetaSearch": false,
+ "includeNullMetadata": true,
+ "instant": false,
+ "legendFormat": "__auto",
+ "range": true,
+ "useBackend": false
+ }
+ ],
+ "title": "Running shards",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Shows the state of various shards in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "custom": {
+ "align": "left",
+ "cellOptions": {
+ "type": "color-text"
+ },
+ "inspect": false
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Unavailable"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Available"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "__name__"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "solr_cluster"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "zk_host"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Status"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Instance"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "shard"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Shard"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "collection"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Collection"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 4,
+ "y": 6
+ },
+ "id": 7,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": [ ],
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "solr_collections_shard_state{job=~\"$job\", solr_cluster=~\"$solr_cluster\"}",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{auto}}"
+ }
+ ],
+ "title": "Shard status",
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Shows the total percent of running shards in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "yellow",
+ "value": 80
+ },
+ {
+ "color": "green",
+ "value": 95
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 12,
+ "y": 6
+ },
+ "id": 8,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "value",
+ "wideLayout": true
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "disableTextWrap": false,
+ "expr": "100 * sum(solr_collections_replica_state{job=~\"$job\", solr_cluster=~\"$solr_cluster\"}) / count(solr_collections_replica_state{job=~\"$job\", solr_cluster=~\"$solr_cluster\"})",
+ "fullMetaSearch": false,
+ "includeNullMetadata": true,
+ "instant": false,
+ "legendFormat": "__auto",
+ "range": true,
+ "useBackend": false
+ }
+ ],
+ "title": "Running replicas",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "State of replicas within a Solr collection.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "custom": {
+ "align": "left",
+ "cellOptions": {
+ "type": "color-text"
+ },
+ "inspect": false
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Unavailable"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Available"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "__name__"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "solr_cluster"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "collection"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "shard"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "replica"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "base_url"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "node_name"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "type"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "state"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "zk_host"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Status"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "core"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Core"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Instance"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "replica_name"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Replica name"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 6
+ },
+ "id": 9,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": [ ],
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "solr_collections_replica_state{job=~\"$job\", solr_cluster=~\"$solr_cluster\"}",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{auto}}"
+ }
+ ],
+ "title": "Replica status",
+ "type": "table"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 12
+ },
+ "id": 10,
+ "targets": [ ],
+ "title": "Top metrics",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top nodes by CPU load caused by the JVM.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue"
+ },
+ {
+ "color": "yellow",
+ "value": 90
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 13
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk($k, 100 * avg by (job, base_url, solr_cluster) (solr_metrics_jvm_os_cpu_load{job=~\"$job\", solr_cluster=~\"$solr_cluster\", item=\"systemCpuLoad\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}}"
+ }
+ ],
+ "title": "Top nodes by CPU load",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top nodes by the JVM heap memory usage.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue"
+ },
+ {
+ "color": "yellow",
+ "value": 90
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 13
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk($k, 100 * avg by (job, base_url, solr_cluster) (sum without(item)(solr_metrics_jvm_memory_heap_bytes{job=~\"$job\", solr_cluster=~\"$solr_cluster\", item=\"used\"}) / clamp_min(sum without(item)(solr_metrics_jvm_memory_heap_bytes{job=~\"$job\", solr_cluster=~\"$solr_cluster\", item=\"max\"}), 1)))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}}"
+ }
+ ],
+ "title": "Top nodes by heap memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top cores by the average rate of query processing in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 19
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk($k, avg by(job, base_url, solr_cluster, collection, core, searchHandler) (solr_metrics_core_query_mean_rate{job=~\"$job\", solr_cluster=~\"$solr_cluster\", category=\"QUERY\", collection=~\"$solr_collection\", core=~\"$solr_core\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}} - {{searchHandler}}"
+ }
+ ],
+ "title": "Top cores by mean queries",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top cores by the number of total document additions in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "documents"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 19
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk($k, avg by (job, base_url, solr_cluster, collection, core) (increase(solr_metrics_core_update_handler_adds_total{job=~\"$job\", solr_cluster=~\"$solr_cluster\", collection=~\"$solr_collection\", core=~\"$solr_core\"}[$__interval:])))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}}"
+ }
+ ],
+ "title": "Top cores by update handlers / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top cores by the Solr index size.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk($k, avg by (job, base_url, solr_cluster, collection, core) (solr_metrics_core_index_size_bytes{job=~\"$job\", solr_cluster=~\"$solr_cluster\", collection=~\"$solr_collection\", core=~\"$solr_core\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}}"
+ }
+ ],
+ "title": "Top cores by index size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top cores by the cache hit ratio in Solr searchers.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "yellow",
+ "value": 90
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "bottomk($k, 100 * avg by (job, base_url, solr_cluster, collection, core, type) (solr_metrics_core_searcher_cache_ratio{job=~\"$job\", solr_cluster=~\"$solr_cluster\", collection=~\"$solr_collection\", core=~\"$solr_core\", type=~\"documentCache|filterCache|queryResultCache\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}} - {{type}}"
+ }
+ ],
+ "title": "Top cores by cache hit ratio",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 31
+ },
+ "id": 17,
+ "targets": [ ],
+ "title": "Errors",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top cores by Solr core errors.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk($k, avg by (job, solr_cluster, collection, core, baseurl) (increase(solr_metrics_core_errors_total{job=~\"$job\", solr_cluster=~\"$solr_cluster\", collection=~\"$solr_collection\", core=~\"$solr_core\"}[$__interval:])))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}}"
+ }
+ ],
+ "title": "Top cores by core errors / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top nodes by Solr node errors.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 32
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk($k, avg by (job, base_url, solr_cluster, collection) (increase(solr_metrics_node_errors_total{job=~\"$job\", solr_cluster=~\"$solr_cluster\"}[$__interval:])))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}}"
+ }
+ ],
+ "title": "Top nodes by node errors / $__interval",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-solr-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(solr_metrics_core_errors_total,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(solr_metrics_core_errors_total{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Solr cluster",
+ "multi": true,
+ "name": "solr_cluster",
+ "options": [ ],
+ "query": "label_values(solr_metrics_core_errors_total{job=~\"$job\"}, solr_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": {
+ "text": "5",
+ "value": "5"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Top node count",
+ "multi": false,
+ "name": "k",
+ "options": [
+ {
+ "text": "5",
+ "value": "5"
+ },
+ {
+ "text": "10",
+ "value": "10"
+ },
+ {
+ "text": "20",
+ "value": "20"
+ },
+ {
+ "text": "50",
+ "value": "50"
+ }
+ ],
+ "query": "5,10,20,50",
+ "refresh": 0,
+ "type": "custom"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Collection",
+ "multi": true,
+ "name": "solr_collection",
+ "options": [ ],
+ "query": "label_values(solr_metrics_core_errors_total{job=~\"$job\"}, collection)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Core",
+ "multi": true,
+ "name": "solr_core",
+ "options": [ ],
+ "query": "label_values(solr_metrics_core_errors_total{job=~\"$job\"}, core)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache Solr cluster overview",
+ "uid": "apache-solr-cluster-overview",
+ "version": 0
+}
diff --git a/assets/apache-solr/dashboards/apache-solr-logs-overview.json b/assets/apache-solr/dashboards/apache-solr-logs-overview.json
new file mode 100644
index 0000000..3c20fa4
--- /dev/null
+++ b/assets/apache-solr/dashboards/apache-solr-logs-overview.json
@@ -0,0 +1,325 @@
+{
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-solr-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache Solr dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Logs volume grouped by \"level\" label.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "drawStyle": "bars",
+ "fillOpacity": 50,
+ "stacking": {
+ "mode": "normal"
+ }
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)merg|(F|f)atal|(A|a)lert|(C|c)rit.*"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)(rr.*|RR.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(W|w)(arn.*|ARN.*|rn|RN)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(N|n)(otice|ote)|(I|i)(nf.*|NF.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "dbg.*|DBG.*|(D|d)(EBUG|ebug)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(T|t)(race|RACE)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "logs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24
+ },
+ "id": 1,
+ "interval": "30s",
+ "options": {
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "sum by (level) (count_over_time({job=~\"integrations/apache-solr\",job=~\"$job\",solr_cluster=~\"$solr_cluster\",instance=~\"$instance\",level=~\"$level\",filename=~\"$filename\"}\n|~ \"$regex_search\"\n\n[$__interval]))\n",
+ "legendFormat": "{{ level }}"
+ }
+ ],
+ "title": "Logs volume",
+ "transformations": [
+ {
+ "id": "renameByRegex",
+ "options": {
+ "regex": "Value",
+ "renamePattern": "logs"
+ }
+ }
+ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "gridPos": {
+ "h": 18,
+ "w": 24
+ },
+ "id": 2,
+ "options": {
+ "dedupStrategy": "exact",
+ "enableLogDetails": true,
+ "prettifyLogMessage": true,
+ "showTime": false,
+ "wrapLogMessage": true
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "{job=~\"integrations/apache-solr\",job=~\"$job\",solr_cluster=~\"$solr_cluster\",instance=~\"$instance\",level=~\"$level\",filename=~\"$filename\"} \n|~ \"$regex_search\"\n\n\n"
+ }
+ ],
+ "title": "Logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "apache-solr-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "(?!grafanacloud.+usage-insights|grafanacloud.+alert-state-history).+",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values({job=~\"integrations/apache-solr\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Solr_cluster",
+ "multi": true,
+ "name": "solr_cluster",
+ "query": "label_values({job=~\"integrations/apache-solr\",job=~\"$job\"}, solr_cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values({job=~\"integrations/apache-solr\",job=~\"$job\",solr_cluster=~\"$solr_cluster\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Level",
+ "multi": true,
+ "name": "level",
+ "query": "label_values({job=~\"integrations/apache-solr\",job=~\"$job\",solr_cluster=~\"$solr_cluster\",instance=~\"$instance\"}, level)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Filename",
+ "multi": true,
+ "name": "filename",
+ "query": "label_values({job=~\"integrations/apache-solr\",job=~\"$job\",solr_cluster=~\"$solr_cluster\",instance=~\"$instance\",level=~\"$level\"}, filename)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "",
+ "value": ""
+ },
+ "label": "Regex search",
+ "name": "regex_search",
+ "options": [
+ {
+ "selected": true,
+ "text": "",
+ "value": ""
+ }
+ ],
+ "query": "",
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timezone": "utc",
+ "title": "Apache Solr logs",
+ "uid": "apache-solr-logs-overview"
+}
diff --git a/assets/apache-solr/dashboards/apache-solr-query-performance.json b/assets/apache-solr/dashboards/apache-solr-query-performance.json
new file mode 100644
index 0000000..075d1a0
--- /dev/null
+++ b/assets/apache-solr/dashboards/apache-solr-query-performance.json
@@ -0,0 +1,1943 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-solr-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache Solr dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Counts the increase in document additions over the specified interval.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(job, base_url, collection, core) (increase(solr_metrics_core_update_handler_adds_total{job=~\"$job\", solr_cluster=~\"$solr_cluster\", base_url=~\"$base_url\", collection=~\"$solr_collection\", core=~\"$solr_core\"}[$__interval:])) > 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}}"
+ }
+ ],
+ "title": "Update handlers / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Measures the average rate of queries per second over a 5-minute period for core search and retrieval operations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(searchHandler, job, base_url, collection, core) (solr_metrics_core_query_5minRate{job=~\"$job\", solr_cluster=~\"$solr_cluster\", base_url=~\"$base_url\", collection=~\"$solr_collection\", core=~\"$solr_core\", searchHandler=~\"/select|/query|/get\",}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}} - {{searchHandler}}"
+ }
+ ],
+ "title": "Core search and retrieval query load",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Measures the average rate of specialized queries per second over a 5-minute period.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(searchHandler, job, base_url, collection, core) (solr_metrics_core_query_5minRate{job=~\"$job\", base_url=~\"$base_url\", solr_cluster=~\"$solr_cluster\", searchHandler=~\"/sql|/export|/stream\", collection=~\"$solr_collection\", core=~\"$solr_core\",}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}} - {{searchHandler}}"
+ }
+ ],
+ "title": "Specialized query load",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Represents the 95th percentile latency for core search and retrieval queries.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(searchHandler, job, base_url, collection, core) (solr_metrics_core_query_p95_ms{job=~\"$job\", solr_cluster=~\"$solr_cluster\", base_url=~\"$base_url\", collection=~\"$solr_collection\", core=~\"$solr_core\", searchHandler=~\"/select|/query|/get\",}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}} - {{searchHandler}}"
+ }
+ ],
+ "title": "Core search and retrieval 95p query latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Displays the 993ith percentile latency for specialized query types.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(searchHandler, job, base_url, collection, core) (solr_metrics_core_query_p95_ms{job=~\"$job\", base_url=~\"$base_url\", solr_cluster=~\"$solr_cluster\", searchHandler=~\"/sql|/export|/stream\", collection=~\"$solr_collection\", core=~\"$solr_core\",}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}} - {{searchHandler}}"
+ }
+ ],
+ "title": "Specialized 95p query latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Represents the 99th percentile latency for core search and retrieval queries, measured in milliseconds.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 18
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(searchHandler, job, base_url, collection, core) (solr_metrics_core_query_p99_ms{job=~\"$job\", solr_cluster=~\"$solr_cluster\", base_url=~\"$base_url\", collection=~\"$solr_collection\", core=~\"$solr_core\", searchHandler=~\"/select|/query|/get\",}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}} - {{searchHandler}}"
+ }
+ ],
+ "title": "Core search and retrieval 99p query latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Displays the 99th percentile latency for specialized query types.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(searchHandler, job, base_url, collection, core) (solr_metrics_core_query_p99_ms{job=~\"$job\", base_url=~\"$base_url\", solr_cluster=~\"$solr_cluster\", searchHandler=~\"/sql|/export|/stream\", collection=~\"$solr_collection\", core=~\"$solr_core\",}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}} - {{searchHandler}}"
+ }
+ ],
+ "title": "Specialized 99p query latency",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 9,
+ "targets": [ ],
+ "title": "Local queries",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Indicates the average rate of local queries per second over a 5-minute period for core search and retrieval operations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(searchHandler, job, base_url, collection, core) (solr_metrics_core_query_local_5minRate{job=~\"$job\", solr_cluster=~\"$solr_cluster\", base_url=~\"$base_url\", collection=~\"$solr_collection\", core=~\"$solr_core\", searchHandler=~\"/select|/query|/get\",}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}} - {{searchHandler}}"
+ }
+ ],
+ "title": "Core search and retrieval local query load",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Indicates the average rate of local specialized queries per second over a 5-minute period.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(searchHandler, job, base_url, collection, core) (solr_metrics_core_query_local_5minRate{job=~\"$job\", base_url=~\"$base_url\", solr_cluster=~\"$solr_cluster\", searchHandler=~\"/sql|/export|/stream\", collection=~\"$solr_collection\", core=~\"$solr_core\",}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}} - {{searchHandler}}"
+ }
+ ],
+ "title": "Specialized local query load",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Represents the 95th percentile latency for local core search and retrieval queries.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 31
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(searchHandler, job, base_url, collection, core) (solr_metrics_core_query_local_p95_ms{job=~\"$job\", solr_cluster=~\"$solr_cluster\", base_url=~\"$base_url\", collection=~\"$solr_collection\", core=~\"$solr_core\", searchHandler=~\"/select|/query|/get\",}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}} - {{searchHandler}}"
+ }
+ ],
+ "title": "Core search and retrieval local p95 query latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Shows the 95th percentile latency for specialized local queries.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 31
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(searchHandler, job, base_url, collection, core) (solr_metrics_core_query_local_p95_ms{job=~\"$job\", base_url=~\"$base_url\", solr_cluster=~\"$solr_cluster\", searchHandler=~\"/sql|/export|/stream\", collection=~\"$solr_collection\", core=~\"$solr_core\",}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}} - {{searchHandler}}"
+ }
+ ],
+ "title": "Specialized local 95p query latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Represents the 99th percentile latency for local core search and retrieval queries.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 37
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(searchHandler, job, base_url, collection, core) (solr_metrics_core_query_local_p99_ms{job=~\"$job\", solr_cluster=~\"$solr_cluster\", base_url=~\"$base_url\", collection=~\"$solr_collection\", core=~\"$solr_core\", searchHandler=~\"/select|/query|/get\",}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}} - {{searchHandler}}"
+ }
+ ],
+ "title": "Core search and retrieval 99p local query latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Shows the 99th percentile latency for specialized local queries.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 37
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(searchHandler, job, base_url, collection, core) (solr_metrics_core_query_local_p99_ms{job=~\"$job\", base_url=~\"$base_url\", solr_cluster=~\"$solr_cluster\", searchHandler=~\"/sql|/export|/stream\", collection=~\"$solr_collection\", core=~\"$solr_core\",}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}} - {{searchHandler}}"
+ }
+ ],
+ "title": "Specialized local 99p query latency",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 43
+ },
+ "id": 16,
+ "targets": [ ],
+ "title": "Cache metrics",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Tracks the number of cache evictions.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 49
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(type, job, base_url, collection, core) (increase(solr_metrics_core_searcher_cache{job=~\"$job\", solr_cluster=~\"$solr_cluster\", base_url=~\"$base_url\", collection=~\"$solr_collection\", core=~\"$solr_core\", type=~\"documentCache|filterCache|queryResultCache\", item=~\"evictions\"}[$__interval:])) > 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}} - {{type}}"
+ }
+ ],
+ "title": "Cache evictions / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The cache hit ratio for various cache activities.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 49
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(type, job, base_url, collection, core) (100 * solr_metrics_core_searcher_cache_ratio{job=~\"$job\", solr_cluster=~\"$solr_cluster\", base_url=~\"$base_url\", collection=~\"$solr_collection\", core=~\"$solr_core\", type=~\"documentCache|filterCache|queryResultCache\"}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}} - {{type}}"
+ }
+ ],
+ "title": "Cache hit ratio",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 55
+ },
+ "id": 19,
+ "targets": [ ],
+ "title": "Timeouts",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Tracks the increase in the number of query timeouts over the specified time interval.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 61
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(job, base_url, collection, core) (increase(solr_metrics_core_timeouts_total{job=~\"$job\", solr_cluster=~\"$solr_cluster\", base_url=~\"$base_url\", collection=~\"$solr_collection\", core=~\"$solr_core\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}}"
+ }
+ ],
+ "title": "Core timeouts / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Tracks the increase in node-level query timeouts over the specified interval.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 61
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(job, base_url) (increase(solr_metrics_node_timeouts_total{job=~\"$job\", base_url=~\"$base_url\", solr_cluster=~\"$solr_cluster\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}}"
+ }
+ ],
+ "title": "Node timeouts / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 66
+ },
+ "id": 22,
+ "targets": [ ],
+ "title": "Errors",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Measures the rate of query errors over a 1-minute period.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "errors / min"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 72
+ },
+ "id": 23,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(job, base_url, collection, core) (solr_metrics_core_query_errors_1minRate{job=~\"$job\", solr_cluster=~\"$solr_cluster\", base_url=~\"$base_url\", collection=~\"$solr_collection\", core=~\"$solr_core\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}}"
+ }
+ ],
+ "title": "Query error rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "This metric represents the rate of client errors over a 1-minute period.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "errors / min"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 72
+ },
+ "id": 24,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by(job, base_url, collection, core) (solr_metrics_core_query_client_errors_1minRate{job=~\"$job\", solr_cluster=~\"$solr_cluster\", base_url=~\"$base_url\", collection=~\"$solr_collection\", core=~\"$solr_core\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{collection}} - {{core}}"
+ }
+ ],
+ "title": "Query client errors",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-solr-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(solr_metrics_core_errors_total,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(cassandra_cache_size{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "base_url",
+ "options": [ ],
+ "query": "label_values(solr_metrics_core_errors_total{job=~\"$job\"}, base_url)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Solr cluster",
+ "multi": true,
+ "name": "solr_cluster",
+ "options": [ ],
+ "query": "label_values(solr_metrics_core_errors_total{job=~\"$job\"}, solr_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Collection",
+ "multi": true,
+ "name": "solr_collection",
+ "options": [ ],
+ "query": "label_values(solr_metrics_core_errors_total{job=~\"$job\"}, collection)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Core",
+ "multi": true,
+ "name": "solr_core",
+ "options": [ ],
+ "query": "label_values(solr_metrics_core_errors_total{job=~\"$job\"}, core)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache Solr query performance",
+ "uid": "apache-solr-query-performance",
+ "version": 0
+}
diff --git a/assets/apache-solr/dashboards/apache-solr-resource-monitoring.json b/assets/apache-solr/dashboards/apache-solr-resource-monitoring.json
new file mode 100644
index 0000000..38cc5aa
--- /dev/null
+++ b/assets/apache-solr/dashboards/apache-solr-resource-monitoring.json
@@ -0,0 +1,1395 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-solr-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache Solr dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of connections to the Solr node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, solr_cluster, base_url, item) (solr_metrics_node_connections{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\"}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}} - {{item}}"
+ }
+ ],
+ "title": "Connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total number of tasks submitted and completed in the thread pool.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, solr_cluster, base_url) (increase(solr_metrics_node_thread_pool_submitted_total{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\", executor=\"updateOnlyExecutor\"}[$__interval:])) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}} - submitted"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, solr_cluster, base_url) (increase(solr_metrics_node_thread_pool_completed_total{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\", executor=\"updateOnlyExecutor\"}[$__interval:])) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}} - completed"
+ }
+ ],
+ "title": "Threads / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Disk space used by Solr node's root file system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, solr_cluster, base_url, item) (solr_metrics_node_core_root_fs_bytes{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\"}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}} - {{item}}"
+ }
+ ],
+ "title": "Node core FS usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of open file descriptors.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, solr_cluster, base_url, item) (solr_metrics_jvm_os_file_descriptors{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\"}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}} - {{item}}"
+ }
+ ],
+ "title": "File descriptors",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 12
+ },
+ "id": 6,
+ "targets": [ ],
+ "title": "JVM metrics",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Counts the total number of garbage collection events.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 13
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, solr_cluster, base_url, item) (increase(solr_metrics_jvm_gc_total{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\"}[$__interval:])) > 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}} - {{item}}"
+ }
+ ],
+ "title": "Garbage collections / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total time spent in garbage collection.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 13
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, solr_cluster, base_url, item) (increase(solr_metrics_jvm_gc_seconds_total{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\"}[$__interval:]) / clamp_min(increase(solr_metrics_jvm_gc_total{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\"}[$__interval:]), 1)) > 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}} - {{item}}"
+ }
+ ],
+ "title": "Garbage collection time / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "CPU load caused by the JVM.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "yellow",
+ "value": 90
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 19
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, solr_cluster, base_url) (100 * solr_metrics_jvm_os_cpu_load{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\", item=\"systemCpuLoad\"}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}}"
+ }
+ ],
+ "title": "CPU load",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The operating system's virtual committed memory, free physical memory and total physical memory usage.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 19
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, solr_cluster, base_url) (solr_metrics_jvm_os_memory_bytes{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\", item=\"freePhysicalMemorySize\"}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}} - free physical"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, solr_cluster, base_url) (solr_metrics_jvm_os_memory_bytes{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\", item=\"totalPhysicalMemorySize\"}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}} - total physical"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, solr_cluster, base_url) (solr_metrics_jvm_os_memory_bytes{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\", item=\"committedVirtualMemorySize\"}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}} - committed virtual"
+ }
+ ],
+ "title": "OS memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The heap and non-heap memory used by the JVM.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, solr_cluster, base_url) (solr_metrics_jvm_memory_heap_bytes{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\", item=\"used\"}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}} - heap"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, solr_cluster, base_url) (solr_metrics_jvm_memory_non_heap_bytes{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\", item=\"used\"}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}} - non-heap"
+ }
+ ],
+ "title": "Memory used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The heap and non-heap memory committed by the JVM.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, solr_cluster, base_url) (solr_metrics_jvm_memory_heap_bytes{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\", item=\"committed\"}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}} - heap"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, solr_cluster, base_url) (solr_metrics_jvm_memory_non_heap_bytes{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\", item=\"committed\"}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}} - non-heap"
+ }
+ ],
+ "title": "Memory committed",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 31
+ },
+ "id": 13,
+ "targets": [ ],
+ "title": "Jetty metrics",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total number of requests received by Jetty.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 37
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, solr_cluster, base_url, method) (increase(solr_metrics_jetty_requests_total{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\"}[$__interval:])) > 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}} - {{method}}"
+ }
+ ],
+ "title": "Requests / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total number of responses generated by Jetty.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 37
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, solr_cluster, base_url, status) (increase(solr_metrics_jetty_response_total{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\"}[$__interval:])) > 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}} - {{status}}"
+ }
+ ],
+ "title": "Responses / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total count of dispatches handled by Jetty.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 43
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, solr_cluster, base_url) (increase(solr_metrics_jetty_dispatches_total{job=~\"$job\", solr_cluster=\"$solr_cluster\", base_url=~\"$base_url\"}[$__interval:])) > 0",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{base_url}}"
+ }
+ ],
+ "title": "Dispatches / $__interval",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-solr-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(solr_metrics_core_errors_total,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(cassandra_cache_size{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "base_url",
+ "options": [ ],
+ "query": "label_values(solr_metrics_core_errors_total{job=~\"$job\"}, base_url)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Solr cluster",
+ "multi": true,
+ "name": "solr_cluster",
+ "options": [ ],
+ "query": "label_values(solr_metrics_core_errors_total{job=~\"$job\"}, solr_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache Solr resource monitoring",
+ "uid": "apache-solr-resource-monitoring",
+ "version": 0
+}
diff --git a/assets/apache-solr/rules.yaml b/assets/apache-solr/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/apache-solr/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/apache-tomcat/alerts.yaml b/assets/apache-tomcat/alerts.yaml
new file mode 100644
index 0000000..5d7464e
--- /dev/null
+++ b/assets/apache-tomcat/alerts.yaml
@@ -0,0 +1,47 @@
+groups:
+- name: ApacheTomcatAlerts
+ rules:
+ - alert: ApacheTomcatAlertsHighCpuUsage
+ annotations:
+ description: The CPU usage has been at {{ printf "%.0f" $value }} percent over
+ the last 5 minutes on {{$labels.instance}}, which is above the threshold of
+ 80 percent.
+ summary: The instance has a CPU usage higher than the configured threshold.
+ expr: |
+ sum by (job, instance) (jvm_process_cpu_load{job=~"integrations/tomcat"}) > 80
+ for: 5m
+ labels:
+ severity: critical
+ - alert: ApacheTomcatAlertsHighMemoryUsage
+ annotations:
+ description: The memory usage has been at {{ printf "%.0f" $value }} percent
+ over the last 5 minutes on {{$labels.instance}}, which is above the threshold
+ of 80 percent.
+ summary: The instance has a higher memory usage than the configured threshold.
+ expr: |
+ sum(jvm_memory_usage_used_bytes{job=~"integrations/tomcat"}) by (job, instance) / sum(jvm_physical_memory_bytes{job=~"integrations/tomcat"}) by (job, instance) * 100 > 80
+ for: 5m
+ labels:
+ severity: critical
+ - alert: ApacheTomcatAlertsHighRequestErrorPercent
+ annotations:
+ description: The percentage of request errors has been at {{ printf "%.0f" $value
+ }} percent over the last 5 minutes on {{$labels.instance}}, which is above
+ the threshold of 5 percent.
+ summary: There are a high number of request errors.
+ expr: |
+ sum by (job, instance) (increase(tomcat_errorcount_total[5m]) / increase(tomcat_requestcount_total[5m]) * 100) > 5
+ for: 5m
+ labels:
+ severity: critical
+ - alert: ApacheTomcatAlertsModeratelyHighProcessingTime
+ annotations:
+ description: The processing time has been at {{ printf "%.0f" $value }}ms over
+ the last 5 minutes on {{$labels.instance}}, which is above the threshold of
+ 300ms.
+ summary: The processing time has been moderately high.
+ expr: |
+ sum by (job, instance) (increase(tomcat_processingtime_total[5m]) / increase(tomcat_requestcount_total[5m])) > 300
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/apache-tomcat/dashboards/apache-tomcat-hosts.json b/assets/apache-tomcat/dashboards/apache-tomcat-hosts.json
new file mode 100644
index 0000000..1c215ef
--- /dev/null
+++ b/assets/apache-tomcat/dashboards/apache-tomcat-hosts.json
@@ -0,0 +1,677 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-tomcat-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache Tomcat dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of different types of sessions created for a Tomcat host",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineStyle": {
+ "fill": "solid"
+ },
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(increase(tomcat_session_sessioncounter_total{job=~\"$job\", instance=~\"$instance\", host=~\"$host\", context=~\"$context\"}[$__interval:] offset -$__interval)) by (job, instance)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - total sessions"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(increase(tomcat_session_rejectedsessions_total{job=~\"$job\", instance=~\"$instance\", host=~\"$host\", context=~\"$context\"}[$__interval:] offset -$__interval)) by (job, instance)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - rejected"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(increase(tomcat_session_expiredsessions_total{job=~\"$job\", instance=~\"$instance\", host=~\"$host\", context=~\"$context\"}[$__interval:] offset -$__interval)) by (job, instance)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - expired"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(tomcat_session_sessioncounter_total{job=~\"$job\", instance=~\"$instance\", host=~\"$host\", context=~\"$context\"}[$__interval:] offset -$__interval)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{host}}{{context}} - sessions"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(tomcat_session_rejectedsessions_total{job=~\"$job\", instance=~\"$instance\", host=~\"$host\", context=~\"$context\"}[$__interval:] offset -$__interval)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{host}}{{context}} - rejected"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(tomcat_session_expiredsessions_total{job=~\"$job\", instance=~\"$instance\", host=~\"$host\", context=~\"$context\"}[$__interval:] offset -$__interval)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{host}}{{context}} - expired"
+ }
+ ],
+ "title": "Sessions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The average time taken to process recent sessions for a Tomcat host",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(increase(tomcat_session_processingtime_total{job=~\"$job\", instance=~\"$instance\", host=~\"$host\", context=~\"$context\"}[$__interval:] offset -$__interval) / clamp_min(increase(tomcat_session_sessioncounter_total{job=~\"$job\", instance=~\"$instance\", host=~\"$host\", context=~\"$context\"}[$__interval:] offset -$__interval), 1)) by (job, instance)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - total"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(tomcat_session_processingtime_total{job=~\"$job\", instance=~\"$instance\", host=~\"$host\", context=~\"$context\"}[$__interval:] offset -$__interval) / clamp_min(increase(tomcat_session_sessioncounter_total{job=~\"$job\", instance=~\"$instance\", host=~\"$host\", context=~\"$context\"}[$__interval:] offset -$__interval), 1)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{host}}{{context}}"
+ }
+ ],
+ "title": "Session processing time",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 10
+ },
+ "id": 4,
+ "targets": [ ],
+ "title": "Servlet",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The total requests and errors for a Tomcat servlet",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "r/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 11
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(rate(tomcat_servlet_requestcount_total{instance=~\"$instance\", job=~\"$job\", module=~\"$host$context\", servlet=~\"$servlet\"}[$__rate_interval])) by (job, instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - total requests"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(rate(tomcat_servlet_errorcount_total{instance=~\"$instance\", job=~\"$job\", module=~\"$host$context\", servlet=~\"$servlet\"}[$__rate_interval])) by (job, instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - total errors"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(tomcat_servlet_requestcount_total{instance=~\"$instance\", job=~\"$job\", module=~\"$host$context\", servlet=~\"$servlet\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{module}}{{servlet}} - requests"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(tomcat_servlet_errorcount_total{instance=~\"$instance\", job=~\"$job\", module=~\"$host$context\", servlet=~\"$servlet\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{module}}{{servlet}} - errors"
+ }
+ ],
+ "title": "Servlet requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The average time taken to process recent requests in a Tomcat servlet",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 11
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(increase(tomcat_servlet_processingtime_total{instance=~\"$instance\", job=~\"$job\", module=~\"$host$context\", servlet=~\"$servlet\"}[$__interval:] offset -$__interval) / clamp_min(increase(tomcat_servlet_requestcount_total{instance=~\"$instance\", job=~\"$job\", module=~\"$host$context\", servlet=~\"$servlet\"}[$__interval:] offset -$__interval), 1)) by (job, instance)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - total"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(tomcat_servlet_processingtime_total{instance=~\"$instance\", job=~\"$job\", module=~\"$host$context\", servlet=~\"$servlet\"}[$__interval:] offset -$__interval) / clamp_min(increase(tomcat_servlet_requestcount_total{instance=~\"$instance\", job=~\"$job\", module=~\"$host$context\", servlet=~\"$servlet\"}[$__interval:] offset -$__interval), 1)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{module}}{{servlet}}"
+ }
+ ],
+ "title": "Servlet processing time",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-tomcat-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Job",
+ "multi": false,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(tomcat_bytesreceived_total, job)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Instance",
+ "multi": false,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(tomcat_bytesreceived_total, instance)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Host",
+ "multi": true,
+ "name": "host",
+ "options": [ ],
+ "query": "label_values(tomcat_session_sessioncounter_total{instance=~\"$instance\"}, host)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Context",
+ "multi": true,
+ "name": "context",
+ "options": [ ],
+ "query": "label_values(tomcat_session_sessioncounter_total{host=~\"$host\"}, context)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Servlet",
+ "multi": true,
+ "name": "servlet",
+ "options": [ ],
+ "query": "label_values(tomcat_servlet_requestcount_total{module=~\"$host$context\"}, servlet)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache Tomcat hosts",
+ "uid": "apache-tomcat-hosts",
+ "version": 0
+}
diff --git a/assets/apache-tomcat/dashboards/apache-tomcat-overview.json b/assets/apache-tomcat/dashboards/apache-tomcat-overview.json
new file mode 100644
index 0000000..a5d0f41
--- /dev/null
+++ b/assets/apache-tomcat/dashboards/apache-tomcat-overview.json
@@ -0,0 +1,979 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "apache-tomcat-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Apache Tomcat dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The memory usage of the JVM of the instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineStyle": {
+ "fill": "solid"
+ },
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_memory_usage_used_bytes{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{area}}"
+ }
+ ],
+ "title": "Memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The CPU usage of the JVM process",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_process_cpu_load{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "CPU usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The sent traffic for a Tomcat connector",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(rate(tomcat_bytessent_total{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}[$__rate_interval])) by (job, instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - total"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(tomcat_bytessent_total{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{protocol}}-{{port}}"
+ }
+ ],
+ "title": "Traffic sent",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The received traffic for a Tomcat connector",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(rate(tomcat_bytesreceived_total{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}[$__rate_interval])) by (job, instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - total"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(tomcat_bytesreceived_total{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{protocol}}-{{port}}"
+ }
+ ],
+ "title": "Traffic received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The total requests and errors for a Tomcat connector",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "r/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(rate(tomcat_requestcount_total{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}[$__rate_interval])) by (job, instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - total requests"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(rate(tomcat_errorcount_total{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}[$__rate_interval])) by (job, instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - total errors"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(tomcat_requestcount_total{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{protocol}}-{{port}} - requests"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(tomcat_errorcount_total{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{protocol}}-{{port}} - errors"
+ }
+ ],
+ "title": "Requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The average time taken to process recent requests for a Tomcat connector",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 300
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(increase(tomcat_processingtime_total{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}[$__interval:] offset -$__interval) / clamp_min(increase(tomcat_requestcount_total{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}[$__interval:] offset -$__interval), 1)) by (job, instance)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - total"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(tomcat_processingtime_total{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}[$__interval:] offset -$__interval) / clamp_min(increase(tomcat_requestcount_total{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}[$__interval:] offset -$__interval), 1)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{protocol}}-{{port}}"
+ }
+ ],
+ "title": "Processing time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of various threads being used by a Tomcat connector",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 18
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(tomcat_threadpool_connectioncount{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}) by (job, instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - total connections"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(tomcat_threadpool_pollerthreadcount{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}) by (job, instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - poller total"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(tomcat_threadpool_keepalivecount{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}) by (job, instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - idle total"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(tomcat_threadpool_currentthreadcount{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}) by (job, instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - active total"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "tomcat_threadpool_connectioncount{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{protocol}}-{{port}} - connections"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "tomcat_threadpool_pollerthreadcount{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{protocol}}-{{port}} - poller"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "tomcat_threadpool_keepalivecount{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{protocol}}-{{port}} - idle"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "tomcat_threadpool_currentthreadcount{job=~\"$job\", instance=~\"$instance\", protocol=~\"$protocol\", port=~\"$port\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{protocol}}-{{port}} - active"
+ }
+ ],
+ "title": "Threads",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "Recent logs from the Catalina.out logs file\n",
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 9,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{filename=~\"/var/log/tomcat.*/catalina.out|/opt/tomcat/logs/catalina.out|/Program Files/Apache Software Foundation/Tomcat .*..*/logs/catalina.out\",job=~\"$job\", instance=~\"$instance\"} |= ``",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "apache-tomcat-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki Datasource",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Job",
+ "multi": false,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(tomcat_bytesreceived_total, job)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Instance",
+ "multi": false,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(tomcat_bytesreceived_total, instance)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Protocol",
+ "multi": true,
+ "name": "protocol",
+ "options": [ ],
+ "query": "label_values(tomcat_bytesreceived_total, protocol)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Port",
+ "multi": true,
+ "name": "port",
+ "options": [ ],
+ "query": "label_values(tomcat_bytesreceived_total, port)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Apache Tomcat overview",
+ "uid": "apache-tomcat-overview",
+ "version": 0
+}
diff --git a/assets/apache-tomcat/rules.yaml b/assets/apache-tomcat/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/apache-tomcat/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/argocd/alerts.yaml b/assets/argocd/alerts.yaml
new file mode 100644
index 0000000..0f0d87a
--- /dev/null
+++ b/assets/argocd/alerts.yaml
@@ -0,0 +1,30 @@
+groups:
+- name: ArgoCD
+ rules:
+ - alert: ArgoAppOutOfSync
+ annotations:
+ description: Application {{ $labels.name }} has sync status as {{ $labels.sync_status
+ }}.
+ summary: Application is OutOfSync.
+ expr: argocd_app_info{sync_status="OutOfSync"} == 1
+ for: 1m
+ labels:
+ severity: warning
+ - alert: ArgoAppSyncFailed
+ annotations:
+ description: Application {{ $labels.name }} has sync phase as {{ $labels.phase
+ }}.
+ summary: Application Sync Failed.
+ expr: argocd_app_sync_total{phase!="Succeeded"} == 1
+ for: 1m
+ labels:
+ severity: warning
+ - alert: ArgoAppMissing
+ annotations:
+ description: "ArgoCD has not reported any applications data for the past 15
+ minutes which means that it must be down or not functioning properly. \n"
+ summary: No reported applications in ArgoCD.
+ expr: absent(argocd_app_info)
+ for: 15m
+ labels:
+ severity: critical
diff --git a/assets/argocd/dashboards/argocd-overview.json b/assets/argocd/dashboards/argocd-overview.json
new file mode 100644
index 0000000..7b2431e
--- /dev/null
+++ b/assets/argocd/dashboards/argocd-overview.json
@@ -0,0 +1,2917 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 14584,
+ "graphTooltip": 1,
+ "id": 73,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 2,
+ "x": 0,
+ "y": 0
+ },
+ "id": 121,
+ "links": [ ],
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "![argoimage](https://cncf-branding.netlify.app/img/projects/argo/stacked/color/argo-stacked-color.png)",
+ "mode": "markdown"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Uptime of ArgoCD",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlPu"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "dtdurations"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 2,
+ "y": 0
+ },
+ "id": 32,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "time() - max(process_start_time_seconds{job=\"integrations/argocd/application-controller\", cluster=~\"$cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Uptime",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Total number of Cluster connected to ArgoCD",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlPu"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 5,
+ "x": 5,
+ "y": 0
+ },
+ "id": 94,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "count(count by (server) (argocd_cluster_info{job=\"integrations/argocd/application-controller\", cluster=~\"$cluster\"}))",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Clusters",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Total number of repositories connected to ArgoCD",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlPu"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 5,
+ "x": 10,
+ "y": 0
+ },
+ "id": 107,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "count(count by (repo) (argocd_app_info{namespace=~\"$namespace\",cluster=~\"$cluster\"}))",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Repositories",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Number of ArgoCD Applications",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlPu"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 5,
+ "x": 15,
+ "y": 0
+ },
+ "id": 75,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(argocd_app_info{namespace=~\"$namespace\",cluster=~\"$cluster\",health_status=~\"$health_status\",sync_status=~\"$sync_status\", cluster=~\"$cluster\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Applications",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Total Number of Projects",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlPu"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 20,
+ "y": 0
+ },
+ "id": 116,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "count(count by (project) (argocd_cluster_info{job=\"integrations/argocd/application-controller\", cluster=~\"$cluster\"}))",
+ "instant": false,
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Projects",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Percentage of Healthy Applications",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-RdYlGr"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 4,
+ "y": 4
+ },
+ "id": 105,
+ "interval": "",
+ "links": [ ],
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(argocd_app_info{namespace=~\"$namespace\",cluster=~\"$cluster\",health_status=~\"Healthy\",sync_status=~\"$sync_status\",health_status!=\"\"}) / sum(argocd_app_info{namespace=~\"$namespace\",cluster=~\"$cluster\",sync_status=~\"$sync_status\",health_status!=\"\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{health_status}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Healthy Applications",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Percentage of Synced Applications",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 8,
+ "y": 4
+ },
+ "id": 109,
+ "interval": "",
+ "links": [ ],
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": false
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(argocd_app_info{namespace=~\"$namespace\",cluster=~\"$cluster\",health_status=~\"$health_status\",sync_status=\"Synced\"}) / sum(argocd_app_info{namespace=~\"$namespace\",cluster=~\"$cluster\",health_status=~\"$health_status\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{sync_status}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Synced Applications",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Sync Success of ArgoCD Applications",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 6,
+ "x": 12,
+ "y": 4
+ },
+ "id": 56,
+ "interval": "",
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(argocd_app_sync_total{namespace=~\"$namespace\",cluster=~\"$cluster\", phase=\"Succeeded\"}[$__rate_interval])) by ($grouping) * 60",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{$grouping}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Sync Rate",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Sync Failures of ArgoCD Applications",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0.10000000000000001
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 6,
+ "x": 18,
+ "y": 4
+ },
+ "id": 73,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(argocd_app_sync_total{namespace=~\"$namespace\",cluster=~\"$cluster\", phase=~\"Error|Failed\"}[$__rate_interval])) by ($grouping) * 60",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{phase}}: {{$grouping}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Sync Failures",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "The k8s cluster current connection status",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Degraded"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "OK"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 4,
+ "x": 0,
+ "y": 5
+ },
+ "id": 115,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "argocd_cluster_connection_status{cluster=~\"$cluster\"}",
+ "instant": false,
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Cluster Connection",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Cluster cache age in seconds",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 4,
+ "x": 0,
+ "y": 7
+ },
+ "id": 119,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "argocd_cluster_cache_age_seconds{job=\"integrations/argocd/application-controller\", cluster=~\"$cluster\"}",
+ "instant": false,
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Cluster cache age",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Git Requests(ls-remote) per Repository",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 9
+ },
+ "id": 82,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase(argocd_git_request_total{request_type=\"ls-remote\",job=\"integrations/argocd/repo-server\"}[10m])) by (repo)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{repo}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Git Requests (ls-remote)",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Git Requests(Fetch) per Repository",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 9
+ },
+ "id": 112,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase(argocd_git_request_total{request_type=\"fetch\",job=\"integrations/argocd/repo-server\"}[10m])) by (repo)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{repo}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Git Requests (fetch)",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 15
+ },
+ "id": 104,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Application Info",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "ArgoCD applications status panel",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [
+ {
+ "options": {
+ "Degraded": {
+ "color": "red",
+ "index": 1
+ },
+ "Healthy": {
+ "color": "green",
+ "index": 0
+ },
+ "Missing": {
+ "color": "red",
+ "index": 5
+ },
+ "OutOfSync": {
+ "color": "orange",
+ "index": 4
+ },
+ "Progressing": {
+ "color": "yellow",
+ "index": 3
+ },
+ "Synced": {
+ "color": "green",
+ "index": 2
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "string"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "health_status"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "gradient",
+ "type": "color-background"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "sync_status"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "id": 120,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "argocd_app_info{cluster=~\"$cluster\",namespace=~\"$namespace\"}",
+ "format": "table",
+ "instant": true,
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "title": "Application Status",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Value": true,
+ "__name__": true,
+ "dest_server": false,
+ "instance": true,
+ "job": true,
+ "namespace": true,
+ "operation": true,
+ "repo": true
+ },
+ "indexByName": {
+ "Time": 1,
+ "Value": 12,
+ "__name__": 2,
+ "cluster": 3,
+ "dest_namespace": 4,
+ "dest_server": 5,
+ "health_status": 13,
+ "instance": 6,
+ "job": 7,
+ "name": 0,
+ "namespace": 8,
+ "project": 9,
+ "repo": 10,
+ "sync_status": 11
+ },
+ "renameByName": {
+ "name": "Name"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 25
+ },
+ "id": 64,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Controller Stats",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Total K8s API Activity by ArgoCD",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ },
+ "links": [ ]
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 26
+ },
+ "id": 80,
+ "links": [ ],
+ "options": {
+ "calculate": false,
+ "cellGap": 1,
+ "color": {
+ "exponent": 0.5,
+ "fill": "dark-orange",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "Oranges",
+ "steps": 64
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1.0000000000000001e-09
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "tooltip": {
+ "show": true,
+ "yHistogram": false
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "reverse": false
+ }
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "argocd_app_k8s_request_total{namespace=~\"$namespace\",cluster=~\"$cluster\"}",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{verb}} {{resource_kind}}",
+ "refId": "A"
+ }
+ ],
+ "title": "K8s API Activity",
+ "transformations": [ ],
+ "transparent": true,
+ "type": "heatmap"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Number of kubectl executions",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": -1,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "hue",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 35
+ },
+ "id": 110,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "idelta(argocd_kubectl_exec_total{cluster=~\"$cluster\"}[$__rate_interval])",
+ "instant": false,
+ "legendFormat": "{{command}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "kubectl executions",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Number of pending kubectl executions",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-GrYlRd"
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 35
+ },
+ "id": 98,
+ "links": [ ],
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(argocd_kubectl_exec_pending{job=\"integrations/argocd/application-controller\"}) by (command)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{command}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Pending kubectl executions",
+ "transparent": true,
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Applications Reconciliation Activity",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 43
+ },
+ "id": 58,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "sum"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.0.0-cloud.3.b04cc88b",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(argocd_app_reconcile_count{namespace=~\"$namespace\",cluster=~\"$cluster\"}[$__rate_interval])) by ($grouping)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{$grouping}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Reconciliation Activity",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Workqueue Depth of Applications",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 51
+ },
+ "id": 96,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.0.0-cloud.3.b04cc88b",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(workqueue_depth{name=~\"app_.*\",job=\"integrations/argocd/application-controller\"}) by (name)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{name}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Workqueue Depth",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 58
+ },
+ "id": 88,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Cluster Stats",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Number of k8s resource objects in the cache",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlPu"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 59
+ },
+ "id": 90,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.1-cloud.3.f250259e",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(argocd_cluster_api_resource_objects{cluster=~\"$cluster\",job=\"integrations/argocd/application-controller\"}) by (cluster)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{cluster}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Resource Objects Count",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Number of monitored kubernetes API resources",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlPu"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 59
+ },
+ "id": 92,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.1-cloud.3.f250259e",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": " sum(argocd_cluster_api_resources{cluster=~\"$cluster\",job=\"integrations/argocd/application-controller\"}) by (cluster)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{cluster}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "API Resources Count",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Number of processes k8s resource events",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 65
+ },
+ "id": 86,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.0.0-cloud.3.b04cc88b",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase(argocd_cluster_events_total{cluster=~\"$cluster\"}[5m])) by (cluster)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{cluster}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Cluster Events Count",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 72
+ },
+ "id": 70,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Repo Server Stats",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory used by Repo Server",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 7,
+ "x": 0,
+ "y": 73
+ },
+ "id": 71,
+ "links": [ ],
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "10.0.1-cloud.3.f250259e",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "go_memstats_heap_alloc_bytes{job=\"integrations/argocd/repo-server\"} ",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Memory Used",
+ "transparent": true,
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Goroutines used by Repo Server",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlPu"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 17,
+ "x": 7,
+ "y": 73
+ },
+ "id": 72,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.1-cloud.3.f250259e",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "go_goroutines{job=\"integrations/argocd/repo-server\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Goroutines",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Number of pending requests requiring repository lock",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 79
+ },
+ "id": 114,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "argocd_repo_pending_request_total{cluster=~\"$cluster\"}",
+ "instant": false,
+ "legendFormat": "{{repo}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Pending requests requiring repository lock",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 87
+ },
+ "id": 66,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Server Stats",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory used by ArgoCD Server",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 4,
+ "x": 0,
+ "y": 88
+ },
+ "id": 61,
+ "links": [ ],
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "10.0.1-cloud.3.f250259e",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "go_memstats_heap_alloc_bytes{job=\"integrations/argocd/argocd-server\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Memory Used",
+ "transparent": true,
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Rate of completed RPCs",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 10,
+ "x": 4,
+ "y": 88
+ },
+ "id": 117,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(grpc_server_handled_total{job=\"integrations/argocd/argocd-server\"}[$__rate_interval])) by (grpc_code)",
+ "instant": false,
+ "legendFormat": "{{grpc_code}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "gRPCs completion rate",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Rate of gRPC stream messages sent by the server",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 10,
+ "x": 14,
+ "y": 88
+ },
+ "id": 118,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(grpc_server_msg_sent_total{job=\"integrations/argocd/argocd-server\"}[$__rate_interval])) by (grpc_service)",
+ "instant": false,
+ "legendFormat": "{{ grpc_service }}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "gRPC stream message rate",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Goroutines by ArgoCD Server",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 95
+ },
+ "id": 36,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.0.0-cloud.3.b04cc88b",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "go_goroutines{job=\"integrations/argocd/argocd-server\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Goroutines",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "GC Time Quantiles by ArgoCD Server",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 95
+ },
+ "id": 38,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.0.0-cloud.3.b04cc88b",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "go_gc_duration_seconds{job=\"integrations/argocd/argocd-server\", quantile=\"1\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "GC Time Quantiles",
+ "transparent": true,
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "",
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": [
+ "argocd-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "grafanacloud-k8sintegrations-prom",
+ "value": "grafanacloud-k8sintegrations-prom"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(kube_pod_info, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(kube_pod_info, namespace)",
+ "refId": "Prometheus-namespace-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": ".*argocd.*",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": {
+ "selected": true,
+ "text": "namespace",
+ "value": "namespace"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "grouping",
+ "options": [
+ {
+ "selected": true,
+ "text": "namespace",
+ "value": "namespace"
+ },
+ {
+ "selected": false,
+ "text": "name",
+ "value": "name"
+ },
+ {
+ "selected": false,
+ "text": "project",
+ "value": "project"
+ }
+ ],
+ "query": "namespace,name,project",
+ "queryValue": "",
+ "skipUrlSync": false,
+ "type": "custom"
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(argocd_cluster_info,cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(argocd_cluster_info,cluster)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": true,
+ "text": "All",
+ "value": "$__all"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "health_status",
+ "options": [
+ {
+ "selected": true,
+ "text": "All",
+ "value": "$__all"
+ },
+ {
+ "selected": false,
+ "text": "Healthy",
+ "value": "Healthy"
+ },
+ {
+ "selected": false,
+ "text": "Progressing",
+ "value": "Progressing"
+ },
+ {
+ "selected": false,
+ "text": "Suspended",
+ "value": "Suspended"
+ },
+ {
+ "selected": false,
+ "text": "Missing",
+ "value": "Missing"
+ },
+ {
+ "selected": false,
+ "text": "Degraded",
+ "value": "Degraded"
+ },
+ {
+ "selected": false,
+ "text": "Unknown",
+ "value": "Unknown"
+ }
+ ],
+ "query": "Healthy,Progressing,Suspended,Missing,Degraded,Unknown",
+ "queryValue": "",
+ "skipUrlSync": false,
+ "type": "custom"
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": true,
+ "text": "All",
+ "value": "$__all"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "sync_status",
+ "options": [
+ {
+ "selected": true,
+ "text": "All",
+ "value": "$__all"
+ },
+ {
+ "selected": false,
+ "text": "Synced",
+ "value": "Synced"
+ },
+ {
+ "selected": false,
+ "text": "OutOfSync",
+ "value": "OutOfSync"
+ },
+ {
+ "selected": false,
+ "text": "Unknown",
+ "value": "Unknown"
+ }
+ ],
+ "query": "Synced,OutOfSync,Unknown",
+ "queryValue": "",
+ "skipUrlSync": false,
+ "type": "custom"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-24h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "ArgoCD",
+ "uid": "a74ac6d7-fe6a-4d83-a393-a5c32652714d",
+ "version": 2,
+ "weekStart": ""
+}
diff --git a/assets/argocd/rules.yaml b/assets/argocd/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/argocd/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/asterisk/alerts.yaml b/assets/asterisk/alerts.yaml
new file mode 100644
index 0000000..c689178
--- /dev/null
+++ b/assets/asterisk/alerts.yaml
@@ -0,0 +1,47 @@
+groups:
+- name: AsteriskAlerts
+ rules:
+ - alert: AsteriskRestarted
+ annotations:
+ description: |-
+ Asterisk instance restarted in the last minute
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: Asterisk instance restarted in the last minute.
+ expr: asterisk_core_uptime_seconds < 60
+ for: 5s
+ labels:
+ severity: critical
+ - alert: AsteriskReloaded
+ annotations:
+ description: |-
+ Asterisk instance reloaded in the last minute
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: Asterisk instance reloaded in the last minute.
+ expr: asterisk_core_last_reload_seconds < 60
+ for: 5s
+ labels:
+ severity: warning
+ - alert: AsteriskHighScrapeTime
+ annotations:
+ description: |-
+ Asterisk instance core high scrape time (Possible system performance degradation)
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: Asterisk instance core high scrape time.
+ expr: asterisk_core_scrape_time_ms > 100
+ for: 10s
+ labels:
+ severity: critical
+ - alert: AsteriskHighActiveCallsCount
+ annotations:
+ description: |-
+ Asterisk high active call count
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: Asterisk high active call count.
+ expr: asterisk_calls_count > 100
+ for: 10s
+ labels:
+ severity: warning
diff --git a/assets/asterisk/dashboards/asterisk-logs.json b/assets/asterisk/dashboards/asterisk-logs.json
new file mode 100644
index 0000000..0338ca9
--- /dev/null
+++ b/assets/asterisk/dashboards/asterisk-logs.json
@@ -0,0 +1,778 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 2,
+ "iteration": 1645648005559,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "asterisk-integration"
+ ],
+ "targetBlank": false,
+ "title": "Asterisk Dashboards",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 2
+ },
+ "id": 8,
+ "panels": [ ],
+ "title": "Logs Overview",
+ "type": "row"
+ },
+ {
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 3
+ },
+ "id": 16,
+ "options": {
+ "content": "",
+ "mode": "html"
+ },
+ "pluginVersion": "8.4.0",
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Total number of log lines",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "super-light-blue",
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 4,
+ "y": 3
+ },
+ "id": 6,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "count_over_time({job=\"$job\", filename=\"$filename\"}[$__interval])",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Log Lines",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Total number of log lines with the type \"WARNING\"",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 7,
+ "y": 3
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "count_over_time({job=\"$job\", filename=\"$filename\"} |= \"WARNING\" [$__interval])",
+ "refId": "A"
+ }
+ ],
+ "title": "Warnings",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Total number of log lines with the type \"ERROR\"",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 10,
+ "y": 3
+ },
+ "id": 5,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "count_over_time({job=\"$job\", filename=\"$filename\"} |= \"ERROR\" [$__interval])",
+ "refId": "A"
+ }
+ ],
+ "title": "Errors",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Total number of log lines with the type \"ERROR\"",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "red",
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "super-light-red",
+ "value": null
+ },
+ {
+ "color": "light-red",
+ "value": 25
+ },
+ {
+ "color": "dark-red",
+ "value": 50
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 13,
+ "y": 3
+ },
+ "id": 13,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "( count_over_time({job=\"$job\", filename=\"$filename\"} |= \"ERROR\" [$__interval]) / count_over_time({job=\"$job\", filename=\"$filename\"} [$__interval]) )",
+ "refId": "A"
+ }
+ ],
+ "title": "Error Percentage",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Total number of bytes used by the log file in the time period",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "super-light-red",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 17,
+ "y": 3
+ },
+ "id": 14,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "bytes_over_time({job=\"$job\", filename=\"$filename\"} [$__interval])",
+ "refId": "A"
+ }
+ ],
+ "title": "Bytes Used",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "fillOpacity": 50,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineWidth": 1,
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Lines"
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "super-light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Warnings"
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "C"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Errors"
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 12,
+ "interval": "10s",
+ "options": {
+ "barRadius": 0.25,
+ "barWidth": 0.69999999999999996,
+ "groupWidth": 0.5,
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "orientation": "auto",
+ "showValue": "never",
+ "stacking": "none",
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ },
+ "xTickLabelRotation": 0,
+ "xTickLabelSpacing": 100
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "count_over_time({job=\"$job\", filename=\"$filename\"}[$__interval])",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "count_over_time({job=\"$job\", filename=\"$filename\"} |= \"WARNING\" [$__interval])",
+ "hide": false,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "count_over_time({job=\"$job\", filename=\"$filename\"} |= \"ERROR\" [$__interval])",
+ "hide": false,
+ "refId": "C"
+ }
+ ],
+ "title": "Historical Logs / Warnings / Errors",
+ "type": "barchart"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 20,
+ "panels": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Errors from the log file",
+ "gridPos": {
+ "h": 12,
+ "w": 24,
+ "x": 0,
+ "y": 13
+ },
+ "id": 21,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": true
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "{job=~\"$job\", filename=~\"$filename\"} |= \"ERROR\"",
+ "refId": "A"
+ }
+ ],
+ "title": "Errors",
+ "type": "logs"
+ }
+ ],
+ "title": "Errors",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 15
+ },
+ "id": 18,
+ "panels": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Warnings from the log file",
+ "gridPos": {
+ "h": 12,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 22,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": true
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "{job=~\"$job\", filename=~\"$filename\"} |= \"WARNING\"",
+ "refId": "A"
+ }
+ ],
+ "title": "Warnings",
+ "type": "logs"
+ }
+ ],
+ "title": "Warnings",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "id": 10,
+ "panels": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "*Asterisk Full Log File* The \"full\" log is the most detailed, describing each call in great detail.",
+ "gridPos": {
+ "h": 12,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "id": 2,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": true
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "{job=~\"$job\", filename=~\"$filename\"}",
+ "refId": "A"
+ }
+ ],
+ "title": "Full Log File",
+ "type": "logs"
+ }
+ ],
+ "title": "Complete Log File",
+ "type": "row"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 35,
+ "style": "dark",
+ "tags": [
+ "asterisk-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "Loki",
+ "value": "Loki"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "integrations/asterisk-logs",
+ "value": "integrations/asterisk-logs"
+ },
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "definition": "label_values(job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": false,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(job)",
+ "refresh": 1,
+ "regex": "^.*asterisk.*",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "/var/log/asterisk/full",
+ "value": "/var/log/asterisk/full"
+ },
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "definition": "label_values(filename)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "File Name",
+ "multi": false,
+ "name": "filename",
+ "options": [ ],
+ "query": "label_values(filename)",
+ "refresh": 1,
+ "regex": ".*asterisk.+",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": { },
+ "timezone": "",
+ "title": "Asterisk - Logs",
+ "uid": "integration_asterisk_logs",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/asterisk/dashboards/asterisk-overview.json b/assets/asterisk/dashboards/asterisk-overview.json
new file mode 100644
index 0000000..1864268
--- /dev/null
+++ b/assets/asterisk/dashboards/asterisk-overview.json
@@ -0,0 +1,2403 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 3,
+ "iteration": 1645647303361,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "asterisk-integration"
+ ],
+ "targetBlank": false,
+ "title": "Asterisk Dashboards",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 2
+ },
+ "id": 18,
+ "panels": [ ],
+ "title": "Asterisk Overview",
+ "type": "row"
+ },
+ {
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 3
+ },
+ "id": 4,
+ "options": {
+ "content": "",
+ "mode": "html"
+ },
+ "pluginVersion": "8.4.0",
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Asterisk Uptime",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "super-light-blue",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 4,
+ "y": 3
+ },
+ "id": 31,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_core_uptime_seconds{instance=~\"$instance\", job=~\"$job\", eid=~\"$eid\"}",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Uptime",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Time elapsed since last reload",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "super-light-blue",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 7,
+ "y": 3
+ },
+ "id": 41,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_core_last_reload_seconds{instance=~\"$instance\", job=~\"$job\", eid=~\"$eid\"}",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Last Reload",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Calls count since last restart",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "super-light-orange",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 10,
+ "y": 3
+ },
+ "id": 35,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "value"
+ },
+ "pluginVersion": "8.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_calls_sum{instance=~\"$instance\", job=~\"$job\", eid=~\"$eid\"}",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Calls",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Active current calls",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "super-light-orange",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 13,
+ "y": 3
+ },
+ "id": 37,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_calls_count{instance=~\"$instance\", job=~\"$job\", eid=~\"$eid\"}",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Current Active Calls",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Max active calls",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "super-light-orange",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 16,
+ "y": 3
+ },
+ "id": 39,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_calls_count{instance=~\"$instance\", job=~\"$job\", eid=~\"$eid\"}",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Max Active Calls",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Calls per second arriving in the system",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "super-light-orange",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 19,
+ "y": 3
+ },
+ "id": 40,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "rate(asterisk_calls_sum{instance=~\"$instance\", job=~\"$job\", eid=~\"$eid\"}[$__rate_interval])",
+ "format": "table",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Calls per Second",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Active calls in the system over the selected time interval",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "semi-dark-orange",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisGridShow": true,
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisWidth": 0,
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 50,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "displayName": "Active Calls",
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 38,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "hidden",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_calls_count{instance=~\"$instance\", job=~\"$job\", eid=~\"$eid\"}",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Active Calls",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current active channels on Asterisk",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "super-light-red",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 13
+ },
+ "id": 43,
+ "options": {
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "8.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_channels_count{instance=~\"$instance\",job=~\"$job\",eid=~\"$eid\"}",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Current Active Channels",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current active channels on Asterisk",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "super-light-red",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 4,
+ "y": 13
+ },
+ "id": 52,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_channels_count{instance=~\"$instance\",job=~\"$job\",eid=~\"$eid\"}",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Max Active Channels",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current active endpoints on Asterisk",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 8,
+ "y": 13
+ },
+ "id": 45,
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": false
+ },
+ "pluginVersion": "8.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_endpoints_count{instance=~\"$instance\",job=~\"$job\",eid=~\"$eid\"}",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Current Active Endpoints",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current active endpoints on Asterisk",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 12,
+ "y": 13
+ },
+ "id": 53,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_endpoints_count{instance=~\"$instance\",job=~\"$job\",eid=~\"$eid\"}",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Max Active Endpoints",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current active bridges on Asterisk",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "super-light-purple",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 16,
+ "y": 13
+ },
+ "id": 47,
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "8.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_bridges_count{instance=~\"$instance\",job=~\"$job\",eid=~\"$eid\"}",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Current Active Bridges",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current active bridges on Asterisk",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "super-light-purple",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 20,
+ "y": 13
+ },
+ "id": 54,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_bridges_count{instance=~\"$instance\",job=~\"$job\",eid=~\"$eid\"}",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Max Active Bridges",
+ "type": "stat"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 17
+ },
+ "id": 56,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current active channels on Asterisk",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "super-light-red",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "displayName": "Active Channels",
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 9,
+ "x": 0,
+ "y": 16
+ },
+ "id": 63,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "hidden",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_channels_count{instance=~\"$instance\",job=~\"$job\",eid=~\"$eid\"}",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Active Channels",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Details of channels in the instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "linkedid"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "none"
+ },
+ {
+ "id": "displayName",
+ "value": "Link ID"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "name"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Channel Name"
+ },
+ {
+ "id": "unit",
+ "value": "string"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "type"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Type"
+ },
+ {
+ "id": "unit",
+ "value": "string"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A (lastNotNull)"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "State"
+ },
+ {
+ "id": "unit",
+ "value": "none"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B (lastNotNull)"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Duration"
+ },
+ {
+ "id": "unit",
+ "value": "s"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Type"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 79
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "State"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 92
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Duration"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 105
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "eid"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "EID"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "id"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "ID"
+ },
+ {
+ "id": "unit",
+ "value": "none"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Instance"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Job"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 15,
+ "x": 9,
+ "y": 16
+ },
+ "id": 58,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "frameIndex": 0,
+ "showHeader": true,
+ "sortBy": [ ]
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_channels_state{instance=~\"$instance\",job=~\"$job\",eid=~\"$eid\"}",
+ "format": "table",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_channels_duration_seconds{instance=~\"$instance\",job=~\"$job\",eid=~\"$eid\"}",
+ "format": "table",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "title": "Channels Details",
+ "transformations": [
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "Value": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "Value #A": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "Value #B": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "eid": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "id": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "instance": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "job": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "linkedid": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "name": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "type": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ }
+ }
+ }
+ },
+ {
+ "id": "merge",
+ "options": { }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "title": "Channels Information",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 18
+ },
+ "id": 60,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current active endpoints on Asterisk",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "displayName": "Active Endpoints",
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 9,
+ "x": 0,
+ "y": 17
+ },
+ "id": 65,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "hidden",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_endpoints_count{instance=~\"$instance\",job=~\"$job\",eid=~\"$eid\"}",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Active Endpoints",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Information regarding channels in the instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "id"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "none"
+ },
+ {
+ "id": "displayName",
+ "value": "ID"
+ },
+ {
+ "id": "unit",
+ "value": "string"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "resource"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Resource"
+ },
+ {
+ "id": "unit",
+ "value": "none"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "tech"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Tech"
+ },
+ {
+ "id": "unit",
+ "value": "string"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A (lastNotNull)"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Channels Count"
+ },
+ {
+ "id": "unit",
+ "value": "none"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "eid"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "EID"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Instance"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Job"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 15,
+ "x": 9,
+ "y": 17
+ },
+ "id": 62,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "frameIndex": 0,
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "Value #B (lastNotNull)"
+ }
+ ]
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_endpoints_channels_count{instance=~\"$instance\",job=~\"$job\",eid=~\"$eid\"}",
+ "format": "table",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Endpoints Details",
+ "transformations": [
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "Value": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "Value #A": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "Value #B": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "eid": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "id": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "instance": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "job": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "linkedid": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "name": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "resource": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "tech": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "type": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ }
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "title": "Endpoints Information",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 19
+ },
+ "id": 68,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current active bridges on Asterisk",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "super-light-purple",
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 25,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "displayName": "Active Bridges",
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 9,
+ "x": 0,
+ "y": 18
+ },
+ "id": 71,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "hidden",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_bridges_count{instance=~\"$instance\",job=~\"$job\",eid=~\"$eid\"}",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Active Bridges",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Information regarding bridges in the instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "id"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "none"
+ },
+ {
+ "id": "displayName",
+ "value": "ID"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "subclass"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "SubClass"
+ },
+ {
+ "id": "unit",
+ "value": "string"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "tech"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Tech"
+ },
+ {
+ "id": "unit",
+ "value": "string"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A (lastNotNull)"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Channels Count"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Job"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Instance"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "eid"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "EID"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 15,
+ "x": 9,
+ "y": 18
+ },
+ "id": 70,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "frameIndex": 0,
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "Value #B (lastNotNull)"
+ }
+ ]
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_bridges_channels_count{instance=~\"$instance\",job=~\"$job\",eid=~\"$eid\"}",
+ "format": "table",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Bridges Details",
+ "transformations": [
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "Time": {
+ "aggregations": [ ]
+ },
+ "Value": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "Value #A": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "Value #B": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "eid": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "id": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "instance": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "job": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "linkedid": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "name": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "resource": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "subclass": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "tech": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "type": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ }
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "title": "Bridges Information",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 20
+ },
+ "id": 49,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "**Core properties** This table shows core properties of the Asterisk instance reported by embedded prometheus exporter",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "center",
+ "displayMode": "json-view"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "eid"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "EID"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Instance"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "build_date (lastNotNull)"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Build Date"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "build_host (lastNotNull)"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Build Host"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "build_kernel (lastNotNull)"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Build Kernel"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "build_options (lastNotNull)"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Build Options"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "build_os (lastNotNull)"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Build OS"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "version (lastNotNull)"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Version"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 19
+ },
+ "id": 51,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [ ]
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "exemplar": true,
+ "expr": "asterisk_core_properties{instance=~\"$instance\",job=~\"$job\",eid=~\"$eid\"}",
+ "format": "table",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Asterisk System Information",
+ "transformations": [
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "build_date": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "build_host": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "build_kernel": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "build_options": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "build_os": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "eid": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "instance": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "version": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ }
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "title": "Asterisk System Information",
+ "type": "row"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 35,
+ "style": "dark",
+ "tags": [
+ "asterisk-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "Cortex",
+ "value": "Cortex"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(asterisk_core_uptime_seconds, job)",
+ "error": {
+ "message": "Datasource ${prometheus_datasource} was not found"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(asterisk_core_uptime_seconds, job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "localhost:8088",
+ "value": "localhost:8088"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(asterisk_core_uptime_seconds{job =~ \"$job\"}, instance)",
+ "error": {
+ "message": "Datasource ${prometheus_datasource} was not found"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(asterisk_core_uptime_seconds{job =~ \"$job\"}, instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "f2:19:a6:ce:98:23",
+ "value": "f2:19:a6:ce:98:23"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(asterisk_core_uptime_seconds{job =~ \"$job\", instance =~ \"$instance\"}, eid)",
+ "error": {
+ "message": "Datasource ${prometheus_datasource} was not found"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "EID",
+ "multi": true,
+ "name": "eid",
+ "options": [ ],
+ "query": {
+ "query": "label_values(asterisk_core_uptime_seconds{job =~ \"$job\", instance =~ \"$instance\"}, eid)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": { },
+ "timezone": "",
+ "title": "Asterisk - Overview",
+ "uid": "integration_asterisk_overview",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/asterisk/rules.yaml b/assets/asterisk/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/asterisk/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/awx/alerts.yaml b/assets/awx/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/awx/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/awx/dashboards/awx.json b/assets/awx/dashboards/awx.json
new file mode 100644
index 0000000..c4258a9
--- /dev/null
+++ b/assets/awx/dashboards/awx.json
@@ -0,0 +1,1859 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 19,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapse": false,
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "panels": [ ],
+ "showTitle": true,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Cluster",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "List of available clusters with counts of cluster level objects. Selectable by the \"instance\" variable.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-blues"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false,
+ "minWidth": 90
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Instance"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "",
+ "url": "d/eqcdR8HDA/var-datasource=${datasource}&var-job=${job}&var-instance=~${__data.fields.Instance}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 1
+ },
+ "id": 9,
+ "links": [ ],
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "awx_organizations_total{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "Orgs",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "awx_teams_total{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "Teams",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "awx_users_total{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "Users",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "awx_inventories_total{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "Inventories",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "awx_projects_total{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "Projects",
+ "refId": "E"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "awx_schedules_total{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "Schedules",
+ "refId": "F"
+ }
+ ],
+ "title": "Cluster List",
+ "transformations": [
+ {
+ "id": "seriesToColumns",
+ "options": {
+ "byField": "instance"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true,
+ "__name__ 1": true,
+ "__name__ 2": true,
+ "__name__ 3": true,
+ "__name__ 4": true,
+ "__name__ 5": true,
+ "__name__ 6": true,
+ "cluster 1": true,
+ "cluster 2": true,
+ "cluster 3": true,
+ "cluster 4": true,
+ "cluster 5": true,
+ "cluster 6": true,
+ "job 1": true,
+ "job 2": true,
+ "job 3": true,
+ "job 4": true,
+ "job 5": true,
+ "job 6": true
+ },
+ "indexByName": { },
+ "renameByName": {
+ "Time 3": "",
+ "Time 4": "",
+ "Time 5": "",
+ "Value #A": "Organizations",
+ "Value #B": "Teams",
+ "Value #C": "Users",
+ "Value #D": "Inventories",
+ "Value #E": "Projects",
+ "Value #F": "Schedules",
+ "__name__ 5": "",
+ "cluster 2": "",
+ "cluster 6": "",
+ "instance": "Instance"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 7
+ },
+ "id": 3,
+ "links": [ ],
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "/^tower_version$/",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "awx_system_info{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Tower Version",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Dashboard --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ },
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "",
+ "url": "${__value.text}"
+ }
+ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 12,
+ "x": 3,
+ "y": 7
+ },
+ "id": 8,
+ "links": [ ],
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "/^tower_url_base$/",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Dashboard --"
+ },
+ "panelId": 3,
+ "refId": "A"
+ }
+ ],
+ "title": "Tower Base URL",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Dashboard --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 7
+ },
+ "id": 4,
+ "links": [ ],
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "/^license_type$/",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Dashboard --"
+ },
+ "panelId": 3,
+ "refId": "A"
+ }
+ ],
+ "title": "License Type",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Dashboard --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 7776000
+ },
+ {
+ "color": "super-light-green",
+ "value": 15552000
+ },
+ {
+ "color": "green",
+ "value": 31536000
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 7
+ },
+ "id": 5,
+ "links": [ ],
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "/^license_expiry$/",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Dashboard --"
+ },
+ "panelId": 3,
+ "refId": "A"
+ }
+ ],
+ "title": "License Expiry",
+ "transformations": [
+ {
+ "id": "labelsToFields"
+ },
+ {
+ "id": "merge",
+ "options": { }
+ }
+ ],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 10
+ },
+ {
+ "color": "#EF843C",
+ "value": 20
+ },
+ {
+ "color": "green",
+ "value": 40
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "awx_license_instance_total{cluster=\"my-cluster\", instance=\"awx-service.sample-apps.svc.cluster.local:80\", job=\"integrations/awx\"}"
+ },
+ "properties": [
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 7
+ },
+ "id": 6,
+ "links": [ ],
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "value",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "awx_license_instance_free{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "awx_license_instance_total{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "title": "Licenses Free/Total",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false,
+ "minWidth": 100
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Enabled"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "gradient",
+ "type": "color-background"
+ }
+ },
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "options": {
+ "False": {
+ "color": "red",
+ "index": 1
+ },
+ "True": {
+ "color": "green",
+ "index": 0
+ }
+ },
+ "type": "value"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Consumed Capacity"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "gradient",
+ "type": "color-background"
+ }
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 0.40000000000000002
+ },
+ {
+ "color": "orange",
+ "value": 0.59999999999999998
+ },
+ {
+ "color": "red",
+ "value": 0.80000000000000004
+ }
+ ]
+ }
+ },
+ {
+ "id": "unit",
+ "value": "percentunit"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Memory"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "bytes"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 10
+ },
+ "id": 11,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "awx_instance_info{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by (hostname) (awx_instance_cpu{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by (hostname) (awx_instance_memory{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by (hostname) (awx_instance_consumed_capacity{job=~\"$job\", instance=~\"$instance\"}) / sum by (hostname) (awx_instance_capacity{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "D"
+ }
+ ],
+ "title": "Cluster Instances",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": { }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Value #A": true,
+ "__name__": true,
+ "cluster": true,
+ "instance": true,
+ "job": true,
+ "managed_by_policy": true
+ },
+ "indexByName": {
+ "Time": 0,
+ "Value #A": 10,
+ "Value #B": 11,
+ "Value #C": 12,
+ "Vaule #D": 13,
+ "__name__": 1,
+ "cluster": 2,
+ "enabled": 4,
+ "hostname": 3,
+ "instance": 6,
+ "instance_uuid": 7,
+ "job": 8,
+ "managed_by_policy": 5,
+ "version": 9
+ },
+ "renameByName": {
+ "Value #B": "CPU Cores",
+ "Value #C": "Memory",
+ "Value #D": "Consumed Capacity",
+ "enabled": "Enabled",
+ "hostname": "Hostname",
+ "instance_uuid": "UUID",
+ "managed_by_policy": "Managed by Policy",
+ "version": "Version"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "aliasColors": { },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ]
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 6,
+ "x": 0,
+ "y": 16
+ },
+ "id": 10,
+ "legend": {
+ "percentage": true,
+ "show": true,
+ "values": true
+ },
+ "legendType": "Right side",
+ "options": {
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true,
+ "values": [
+ "value",
+ "percent"
+ ]
+ },
+ "pieType": "donut",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pieType": "pie",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "awx_hosts_total{type=\"active\", job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Active",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "awx_hosts_total{type=\"total\", job=~\"$job\", instance=~\"$instance\"} - awx_hosts_total{type=\"active\", job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Inactive",
+ "refId": "B"
+ }
+ ],
+ "title": "Hosts",
+ "type": "piechart",
+ "valueName": "current"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "anonymous"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Anonymous"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "user"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Authenticated"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 6,
+ "y": 16
+ },
+ "id": 7,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by (type) (awx_sessions_total{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{type}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Sessions",
+ "transformations": [
+ {
+ "id": "filterFieldsByName",
+ "options": {
+ "include": {
+ "names": [
+ "Time",
+ "anonymous",
+ "user"
+ ]
+ }
+ }
+ }
+ ],
+ "type": "timeseries"
+ },
+ {
+ "aliasColors": { },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ]
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 6,
+ "x": 18,
+ "y": 16
+ },
+ "id": 12,
+ "legend": {
+ "percentage": true,
+ "show": true,
+ "values": true
+ },
+ "legendType": "Right side",
+ "options": {
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true,
+ "values": [
+ "value",
+ "percent"
+ ]
+ },
+ "pieType": "donut",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pieType": "pie",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "awx_job_templates_total{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Job",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "awx_workflow_job_templates_total{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Workflow Job",
+ "refId": "B"
+ }
+ ],
+ "title": "Templates by Type",
+ "type": "piechart",
+ "valueName": "current"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 21
+ },
+ "id": 13,
+ "panels": [ ],
+ "showTitle": true,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Jobs",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Total number of jobs in the Running or Pending state, on all AWX instances in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 9,
+ "x": 0,
+ "y": 22
+ },
+ "id": 14,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "awx_running_jobs_total{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Running",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "awx_running_jobs_total{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Pending",
+ "refId": "B"
+ }
+ ],
+ "title": "Active Jobs by State",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Rate of new jobs being started, by Launch Type.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 9,
+ "x": 9,
+ "y": 22
+ },
+ "id": 16,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by (launch_type) (irate(awx_instance_launch_type_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{launch_type}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Job Rate by Launch Type",
+ "type": "timeseries"
+ },
+ {
+ "aliasColors": { },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ]
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 22
+ },
+ "id": 18,
+ "legend": {
+ "percentage": true,
+ "show": true,
+ "values": true
+ },
+ "legendType": "Right side",
+ "options": {
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true,
+ "values": [
+ "value",
+ "percent"
+ ]
+ },
+ "pieType": "donut",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pieType": "pie",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by (launch_type) (awx_instance_launch_type_total{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{launch_type}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Jobs by Launch Type",
+ "type": "piechart",
+ "valueName": "current"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Rate of job completion status, on all AWX instances in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 9,
+ "x": 0,
+ "y": 28
+ },
+ "id": 15,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "irate(awx_status_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{status}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Job Completion Status Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Rate of new jobs being completed, by their Node and Completion Status.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 9,
+ "x": 9,
+ "y": 28
+ },
+ "id": 17,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by (status, node) (irate(awx_instance_status_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{status}} - {{node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Job Rate by Node and Completion Status",
+ "type": "timeseries"
+ },
+ {
+ "aliasColors": { },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ]
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 28
+ },
+ "id": 19,
+ "legend": {
+ "percentage": true,
+ "show": true,
+ "values": true
+ },
+ "legendType": "Right side",
+ "options": {
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true,
+ "values": [
+ "value",
+ "percent"
+ ]
+ },
+ "pieType": "donut",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pieType": "pie",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by (status) (awx_instance_status_total{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{status}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Jobs by Completion Status",
+ "type": "piechart",
+ "valueName": "current"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 39,
+ "tags": [
+ "awx-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(awx_system_info, job)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(awx_system_info{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "browser",
+ "title": "AWX",
+ "uid": "eqcdR8HDA",
+ "version": 2,
+ "weekStart": ""
+}
diff --git a/assets/awx/rules.yaml b/assets/awx/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/awx/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/blackbox_exporter/alerts.yaml b/assets/blackbox_exporter/alerts.yaml
new file mode 100644
index 0000000..b7a2e74
--- /dev/null
+++ b/assets/blackbox_exporter/alerts.yaml
@@ -0,0 +1,37 @@
+groups:
+- name: blackbox-exporter.rules
+ rules:
+ - alert: BlackboxProbeFailed
+ annotations:
+ dashboard_url: https://grafana.com/d/blackbox-exporter-j4da/blackbox-exporter?instance={{
+ $labels.instance }}
+ description: The probe failed for the instance {{ $labels.instance }}.
+ summary: Probe has failed for the past 1m interval.
+ expr: |
+ probe_success{job="blackbox-exporter"} == 0
+ for: 1m
+ labels:
+ severity: critical
+ - alert: BlackboxLowUptime30d
+ annotations:
+ dashboard_url: https://grafana.com/d/blackbox-exporter-j4da/blackbox-exporter?instance={{
+ $labels.instance }}
+ description: The probe has a lower uptime than 99.9% the last 30 days for the
+ instance {{ $labels.instance }}.
+ summary: Probe uptime is lower than 99.9% for the last 30 days.
+ expr: |
+ avg_over_time(probe_success{job="blackbox-exporter"}[30d]) * 100 < 99.900000000000006
+ labels:
+ severity: info
+ - alert: BlackboxSslCertificateWillExpireSoon
+ annotations:
+ dashboard_url: https://grafana.com/d/blackbox-exporter-j4da/blackbox-exporter?instance={{
+ $labels.instance }}
+ description: |
+ The SSL certificate of the instance {{ $labels.instance }} is expiring within 21 days.
+ Actual time left: {{ $value | humanizeDuration }}.
+ summary: SSL certificate will expire soon.
+ expr: |
+ probe_ssl_earliest_cert_expiry{job="blackbox-exporter"} - time() < 21 * 24 * 3600
+ labels:
+ severity: warning
diff --git a/assets/blackbox_exporter/dashboards/blackbox-exporter.json b/assets/blackbox_exporter/dashboards/blackbox-exporter.json
new file mode 100644
index 0000000..5335e5c
--- /dev/null
+++ b/assets/blackbox_exporter/dashboards/blackbox-exporter.json
@@ -0,0 +1,947 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "description": "A dashboard that monitors the Blackbox-exporter. It is created using the blackbox-exporter-mixin for the the (blackbox-exporter)[https://github.com/prometheus/blackbox-exporter].",
+ "editable": true,
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "title": "Summary",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Go To Probe",
+ "type": "link",
+ "url": "d/blackbox-exporter-j4da/blackbox-exporter?var-instance=${__field.labels.instance}&var-job=${__field.labels.job}"
+ }
+ ],
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "text": "Down"
+ },
+ "1": {
+ "color": "green",
+ "text": "Up"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 24,
+ "x": 0,
+ "y": 1
+ },
+ "id": 2,
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "text": {
+ "titleSize": 18,
+ "valueSize": 18
+ },
+ "textMode": "value_and_name"
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "probe_success{\n job=~\"$job\"\n}\n",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Status Map",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "steps": [
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 0.001
+ }
+ ]
+ },
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 0,
+ "y": 6
+ },
+ "id": 3,
+ "options": {
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "count(\n probe_success{\n job=~\"$job\"\n }\n)\n"
+ }
+ ],
+ "title": "Probes",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "steps": [
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "yellow",
+ "value": 0.98999999999999999
+ },
+ {
+ "color": "green",
+ "value": 0.999
+ }
+ ]
+ },
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 6,
+ "y": 6
+ },
+ "id": 4,
+ "options": {
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "(\n count(\n probe_success{\n job=~\"$job\"\n } == 1\n )\n OR vector(0)\n) /\ncount(\n probe_success{\n job=~\"$job\"\n }\n)\n"
+ }
+ ],
+ "title": "Probes Success",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "steps": [
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 0.999
+ }
+ ]
+ },
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 12,
+ "y": 6
+ },
+ "id": 5,
+ "options": {
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "count(\n probe_http_ssl{\n job=~\"$job\"\n } == 1\n) /\ncount(\n probe_http_version{\n job=~\"$job\"\n }\n)\n"
+ }
+ ],
+ "title": "Probes SSL",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 18,
+ "y": 6
+ },
+ "id": 6,
+ "options": {
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "avg(\n probe_duration_seconds{\n job=~\"$job\"\n }\n)\n"
+ }
+ ],
+ "title": "Probe Average Duration",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 10
+ },
+ "id": 7,
+ "repeat": "instance",
+ "title": "$instance",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "steps": [
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "yellow",
+ "value": 0.98999999999999999
+ },
+ {
+ "color": "green",
+ "value": 0.999
+ }
+ ]
+ },
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 0,
+ "y": 11
+ },
+ "id": 8,
+ "options": {
+ "colorMode": "background",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ]
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "probe_success{\n job=~\"$job\",\n instance=~\"$instance\"\n}\n"
+ }
+ ],
+ "title": "Uptime",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "text": "No"
+ },
+ "1": {
+ "color": "green",
+ "text": "Yes"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 15
+ },
+ "id": 9,
+ "options": {
+ "colorMode": "background",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "probe_success{\n job=~\"$job\",\n instance=~\"$instance\"\n}\n",
+ "instant": true
+ }
+ ],
+ "title": "Probe Success",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "steps": [
+ {
+ "color": "green",
+ "value": 0
+ },
+ {
+ "color": "blue",
+ "value": 300
+ },
+ {
+ "color": "yellow",
+ "value": 400
+ },
+ {
+ "color": "red",
+ "value": 500
+ }
+ ]
+ },
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 15
+ },
+ "id": 10,
+ "options": {
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "probe_http_status_code{\n job=~\"$job\",\n instance=~\"$instance\"\n}\n",
+ "instant": true
+ }
+ ],
+ "title": "Latest Response Code",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "text": "No"
+ },
+ "1": {
+ "color": "green",
+ "text": "Yes"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 18
+ },
+ "id": 11,
+ "options": {
+ "colorMode": "background",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "probe_http_ssl{\n job=~\"$job\",\n instance=~\"$instance\"\n}\n",
+ "instant": true
+ }
+ ],
+ "title": "SSL",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "steps": [
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 18
+ },
+ "id": 12,
+ "options": {
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "textMode": "name"
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "probe_tls_version_info{\n job=~\"$job\",\n instance=~\"$instance\"\n}\n",
+ "instant": true,
+ "legendFormat": "{{version}}"
+ }
+ ],
+ "title": "SSL Version",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "steps": [
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1814400
+ }
+ ]
+ },
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 0,
+ "y": 21
+ },
+ "id": 13,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none"
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "probe_ssl_earliest_cert_expiry{\n job=~\"$job\",\n instance=~\"$instance\"\n} - time()\n"
+ }
+ ],
+ "title": "SSL Certificate Expiry",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "green",
+ "text": "No"
+ },
+ "1": {
+ "color": "blue",
+ "text": "Yes"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 24
+ },
+ "id": 14,
+ "options": {
+ "colorMode": "background",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "probe_http_redirects{\n job=~\"$job\",\n instance=~\"$instance\"\n}\n",
+ "instant": true
+ }
+ ],
+ "title": "Redirects",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 24
+ },
+ "id": 15,
+ "options": {
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "probe_http_version{\n job=~\"$job\",\n instance=~\"$instance\"\n}\n",
+ "instant": true,
+ "legendFormat": "{{version}}"
+ }
+ ],
+ "title": "HTTP Version",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 0,
+ "y": 27
+ },
+ "id": 16,
+ "options": {
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ]
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "probe_duration_seconds{\n job=~\"$job\",\n instance=~\"$instance\"\n}\n"
+ }
+ ],
+ "title": "Average Latency",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 3,
+ "y": 27
+ },
+ "id": 17,
+ "options": {
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ]
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "probe_dns_lookup_time_seconds{\n job=~\"$job\",\n instance=~\"$instance\"\n}\n"
+ }
+ ],
+ "title": "Average Latency",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "spanNulls": false
+ },
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 18,
+ "x": 6,
+ "y": 11
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true,
+ "sortBy": "Mean",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "sum(\n probe_http_duration_seconds{\n job=~\"$job\",\n instance=~\"$instance\"\n }\n) by (instance)\n",
+ "legendFormat": "HTTP duration"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "sum(\n probe_duration_seconds{\n job=~\"$job\",\n instance=~\"$instance\"\n }\n) by (instance)\n",
+ "legendFormat": "Total probe duration"
+ }
+ ],
+ "title": "Probe Duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 100,
+ "spanNulls": false,
+ "stacking": {
+ "mode": "percent"
+ }
+ },
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 18,
+ "x": 6,
+ "y": 21
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true,
+ "sortBy": "Mean",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "sum(\n probe_http_duration_seconds{\n job=~\"$job\",\n instance=~\"$instance\"\n }\n) by (phase)\n",
+ "legendFormat": "{{ phase }}"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "sum(\n probe_icmp_duration_seconds{\n job=~\"$job\",\n instance=~\"$instance\"\n }\n) by (phase)\n",
+ "legendFormat": "{{ phase }}"
+ }
+ ],
+ "title": "Probe Phases",
+ "type": "timeseries"
+ }
+ ],
+ "schemaVersion": 36,
+ "tags": [
+ "blackbox-exporter",
+ "blackbox-exporter-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Data source",
+ "name": "datasource",
+ "query": "prometheus",
+ "type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(probe_success{}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": false,
+ "label": "Instance",
+ "multi": false,
+ "name": "instance",
+ "query": "label_values(probe_success{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-2d",
+ "to": "now"
+ },
+ "timezone": "utc",
+ "title": "Blackbox Exporter",
+ "uid": "blackbox-exporter-j4da"
+}
diff --git a/assets/blackbox_exporter/rules.yaml b/assets/blackbox_exporter/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/blackbox_exporter/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/caddy/alerts.yaml b/assets/caddy/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/caddy/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/caddy/dashboards/caddy-overview.json b/assets/caddy/dashboards/caddy-overview.json
new file mode 100644
index 0000000..51a971a
--- /dev/null
+++ b/assets/caddy/dashboards/caddy-overview.json
@@ -0,0 +1,761 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "limit": 100,
+ "name": "Annotations & Alerts",
+ "showIn": 0,
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "gnetId": 13460,
+ "graphTooltip": 0,
+ "id": 10,
+ "iteration": 1633116262227,
+ "links": [ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(caddy_http_requests_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (handler)",
+ "interval": "",
+ "legendFormat": "{{handler}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(irate(caddy_http_request_duration_seconds_count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (code)",
+ "interval": "",
+ "legendFormat": "{{code}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Requests by Response Code",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 11
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg(avg_over_time(caddy_http_requests_in_flight{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (handler)",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "{{handler}}",
+ "refId": "E"
+ }
+ ],
+ "title": "Requests In Flight",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 11
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(irate(caddy_http_request_duration_seconds_count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (code)",
+ "interval": "",
+ "legendFormat": "{{code}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Requests by Response Code (%)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "histogram_quantile(0.99, sum(rate(caddy_http_request_duration_seconds_bucket{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (le))",
+ "interval": "",
+ "legendFormat": "p99",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "histogram_quantile(0.95, sum(rate(caddy_http_request_duration_seconds_bucket{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (le))",
+ "interval": "",
+ "legendFormat": "p95",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "histogram_quantile(0.90, sum(rate(caddy_http_request_duration_seconds_bucket{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (le))",
+ "interval": "",
+ "legendFormat": "p90",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "histogram_quantile(0.75, sum(rate(caddy_http_request_duration_seconds_bucket{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (le))",
+ "interval": "",
+ "legendFormat": "p75",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "histogram_quantile(0.5, sum(rate(caddy_http_request_duration_seconds_bucket{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (le))",
+ "interval": "",
+ "legendFormat": "p50",
+ "refId": "E"
+ }
+ ],
+ "title": "Request Duration (percentile)",
+ "type": "timeseries"
+ },
+ {
+ "cards": { },
+ "color": {
+ "cardColor": "#b4ff00",
+ "colorScale": "linear",
+ "colorScheme": "interpolateInferno",
+ "exponent": 0.5,
+ "mode": "spectrum"
+ },
+ "dataFormat": "tsbuckets",
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "heatmap": { },
+ "hideZeroBuckets": true,
+ "highlightCards": true,
+ "id": 6,
+ "interval": "",
+ "legend": {
+ "show": true
+ },
+ "maxDataPoints": 25,
+ "options": {
+ "calculate": false,
+ "calculation": { },
+ "cellGap": 2,
+ "cellValues": { },
+ "color": {
+ "exponent": 0.5,
+ "fill": "#b4ff00",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "Inferno",
+ "steps": 128
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1.0000000000000001e-09
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "auto"
+ },
+ "showValue": "never",
+ "tooltip": {
+ "show": true,
+ "yHistogram": false
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "10.2.0",
+ "reverseYBuckets": false,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(increase(caddy_http_request_duration_seconds_bucket{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (le)",
+ "format": "heatmap",
+ "interval": "",
+ "legendFormat": "{{le}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Request Duration (heatmap)",
+ "tooltip": {
+ "show": true,
+ "showHistogram": false
+ },
+ "type": "heatmap",
+ "xAxis": {
+ "show": true
+ },
+ "yAxis": {
+ "format": "s",
+ "logBase": 1,
+ "show": true
+ },
+ "yBucketBound": "auto"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": [
+ "caddy-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "Prometheus",
+ "value": "Prometheus"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(caddy_http_requests_total, job)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(caddy_http_requests_total{job=~\"$job\"}, instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "qryType": 1,
+ "query": "label_values(caddy_http_requests_total{job=~\"$job\"}, instance)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "Caddy Overview",
+ "uid": "9B0qPnfMz",
+ "version": 9
+}
diff --git a/assets/caddy/rules.yaml b/assets/caddy/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/caddy/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/cilium-enterprise/alerts.yaml b/assets/cilium-enterprise/alerts.yaml
new file mode 100644
index 0000000..2384df9
--- /dev/null
+++ b/assets/cilium-enterprise/alerts.yaml
@@ -0,0 +1,226 @@
+groups:
+- name: Cilium Endpoints
+ rules:
+ - alert: CiliumAgentEndpointFailures
+ annotations:
+ description: Cilium Agent {{$labels.pod}} has endpoints that are in an invalid
+ state. This may result in problems with scheduling Pods, or network connectivity
+ issues.
+ summary: Cilium Agent endpoints in the invalid state.
+ expr: sum(cilium_endpoint_state{endpoint_state="invalid"}) by (pod)
+ for: 5m
+ labels:
+ severity: warning
+ - alert: CiliumAgentEndpointUpdateFailure
+ annotations:
+ description: |-
+ API calls to Cilium Agent API to create or update Endpoints are failing on pod {{$labels.pod}} ({{$labels.method}} {{$labels.return_code}}).
+
+ This may cause problems for Pod scheduling
+ summary: API calls to Cilium Agent API to create or update Endpoints are failing.
+ expr: sum(rate(cilium_k8s_client_api_calls_total{method=~"(PUT|POST|PATCH)", endpoint="endpoint",return_code!~"2[0-9][0-9]"}[5m]))
+ by (pod, method, return_code)
+ for: 5m
+ labels:
+ severity: warning
+ - alert: CiliumAgentContainerNetworkInterfaceApiErrorEndpointCreate
+ annotations:
+ description: |-
+ Cilium Endpoint API endpoint rate limiter on Pod {{$labels.pod}} is reporting errors while doing endpoint create.
+ This may cause CNI and prevent Cilium scheduling.
+ summary: Cilium Endpoint API endpoint rate limiter is reporting errors while
+ doing endpoint create.
+ expr: sum(rate(cilium_api_limiter_processed_requests_total{api_call=~"endpoint-create",
+ outcome="fail"}[1m])) by (pod, api_call)
+ for: 5m
+ labels:
+ severity: info
+ - alert: CiliumAgentApiEndpointErrors
+ annotations:
+ description: |-
+ API calls to Cilium Endpoints API on Agent Pod {{$labels.pod}} are failing due to server errors ({{$labels.return_code}}).
+
+ This could indicate issues with Ciliums ability to create endpoints which can result in failure to schedule Kubernetes Pods.
+ summary: API calls to Cilium Endpoints API are failing due to server errors.
+ expr: sum(rate(cilium_agent_api_process_time_seconds_count{return_code=~"5[0-9][0-9]",
+ path="/v1/endpoint"}[5m])) by (pod, return_code)
+ for: 5m
+ labels:
+ severity: warning
+- name: Cilium IPAM
+ rules:
+ - alert: CiliumOperatorExhaustedIpamIps
+ annotations:
+ description: |-
+ Cilium Operator {{$labels.pod}} has exhausted its IPAM IPs. This is a critical issue which may cause Pods to fail to be scheduled.
+
+ This may be caused by number of Pods being scheduled exceeding the you cloud platforms network limits or issues with Cilium rate limiting.
+ summary: Cilium Operator has exhausted its IPAM IPs.
+ expr: sum(cilium_operator_ipam_ips{type="available"}) by () <= 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: CiliumOperatorLowAvailableIpamIps
+ annotations:
+ description: |-
+ Cilium Operator {{$labels.pod}} has used up over 90% of its available IPs. If available IPs become exhausted then the operator may not be able to schedule Pods.
+
+ This may be caused by number of Pods being scheduled exceeding the you cloud platforms network limits or issues with Cilium rate limiting.
+ summary: Cilium Operator has used up over 90% of its available IPs.
+ expr: (sum(cilium_operator_ipam_ips{type!="available"}) by () / sum(cilium_operator_ipam_ips)
+ by ()) > 0.9
+ for: 5m
+ labels:
+ severity: warning
+ - alert: CiliumOperatorEniIpamErrors
+ annotations:
+ description: |-
+ Cilium Operator {{$labels.pod}} has high error rate while trying to create/attach ENIs for IPAM.
+
+ This may be caused by exceeding Node instance ENI/Address limts, as well as errors with Cilium Operators cloud configuration.
+ summary: Cilium Operator has high error rate while trying to create/attach ENIs
+ for IPAM.
+ expr: sum(rate(cilium_operator_ipam_interface_creation_ops{status=~"unable to
+ (create|attach) ENI"}[5m])) by () / count(rate(cilium_operator_ipam_interface_creation_ops{status=~"unable
+ to (create|attach) ENI"}[5m])) by () > 0.0
+ for: 10m
+ labels:
+ severity: critical
+- name: Cilium Maps
+ rules:
+ - alert: CiliumAgentMapOperationFailures
+ annotations:
+ description: Cilium Agent {{$labels.pod}} is experiencing errors updating BPF
+ maps on Agent Pod {{$labels.pod}}. Effects may vary depending on map type(s)
+ being affected however this is likely to cause issues with Cilium.
+ summary: Cilium Agent is experiencing errors updating BPF maps on Agent Pod.
+ expr: sum(rate(cilium_bpf_map_ops_total{k8s_app="cilium", outcome="fail"}[5m]))
+ by (map_name, pod) > 0
+ for: 5m
+ labels:
+ severity: warning
+ - alert: CiliumAgentBpfMapPressure
+ annotations:
+ description: Map {{$labels.map_name}} on Cilium Agent Pod is currently experiencing
+ high map pressure. The map is currently over 90% full. Full maps will begin
+ to experience errors on updates which may result in unexpected behaviour.
+ summary: Map on Cilium Agent Pod is currently experiencing high map pressure.
+ expr: cilium_bpf_map_pressure{} > 0.9
+ for: 5m
+ labels:
+ severity: warning
+- name: Cilium NAT
+ rules:
+ - alert: CiliumAgentNatTableFull
+ annotations:
+ description: |-
+ Cilium Agent Pod {{$labels.pod}} is dropping packets due to "No mapping for NAT masquerade" errors. This likely means that the Cilium agents NAT table is full.
+ This is a potentially critical issue that can lead to connection issues for packets leaving the cluster network.
+
+ See: https://docs.cilium.io/en/v1.9/concepts/networking/masquerading/ for more info.
+ summary: Cilium Agent Pod is dropping packets due to "No mapping for NAT masquerade"
+ errors.
+ expr: sum(rate(cilium_drop_count_total{reason="No mapping for NAT masquerade"}[1m]))
+ by (pod) > 0
+ for: 5m
+ labels:
+ severity: critical
+- name: Cilium API
+ rules:
+ - alert: CiliumAgentApiHighErrorRate
+ annotations:
+ description: 'Cilium Agent API on Pod {{$labels.pod}} is experiencing a high
+ error rate for response code: {{$labels.response_code}} on endpoint {{$labels.endpoint}}.'
+ summary: Cilium Agent API on Pod is experiencing a high error rate.
+ expr: sum(rate(cilium_k8s_client_api_calls_total{endpoint!="metrics",return_code!~"2[0-9][0-9]"}[5m]))
+ by (pod, endpoint, return_code)
+ for: 5m
+ labels:
+ severity: info
+- name: Cilium Conntrack
+ rules:
+ - alert: CiliumAgentConntrackTableFull
+ annotations:
+ description: |-
+ Ciliums conntrack map is failing on new insertions on agent Pod {{$labels.pod}}, this likely means that the conntrack BPF map is full. This is a potentially critical issue and may result in unexpected packet drops.
+
+ If this is firing, it is recommend to look at both CPU/memory resource utilization dashboards. As well as conntrack GC run dashboards for more details on what the issue is.
+ summary: Ciliums conntrack map is failing on new insertions on Agent Pod.
+ expr: 'sum(rate(cilium_drop_count_total{reason="CT: Map insertion failed"}[5m]))
+ by (pod) > 0'
+ for: 5m
+ labels:
+ severity: critical
+ - alert: CiliumAgentConnTrackFailedGarbageCollectorRuns
+ annotations:
+ description: |-
+ Cilium Agent Conntrack GC runs on Agent Pod {{$labels.pod}} has been reported as not completing. Runs reported "uncompleted" may indicate a problem with ConnTrack GC.
+ Cilium failing to GC its ConnTrack table may cause further ConnTrack issues later. This may result in dropped packets or other issues.
+ summary: Cilium Agent Conntrack GC runs are failing on Agent Pod.
+ expr: sum(rate(cilium_datapath_conntrack_gc_runs_total{status="uncompleted"}[5m]))
+ by (pod) > 0
+ for: 5m
+ labels:
+ severity: warning
+- name: Cilium Drops
+ rules:
+ - alert: CiliumAgentHighDeniedRate
+ annotations:
+ description: Cilium Agent Pod {{$labels.pod}} is experiencing a high drop rate
+ due to policy rule denies. This could mean that a network policy is not configured
+ correctly, or that a Pod is sending unexpected network traffic
+ summary: Cilium Agent is experiencing a high drop rate due to policy rule denies.
+ expr: sum(rate(cilium_drop_count_total{reason="Policy denied"}[1m])) by (reason,
+ pod) > 0
+ for: 10m
+ labels:
+ severity: info
+- name: Cilium Policy
+ rules:
+ - alert: CiliumAgentPolicyMapPressure
+ annotations:
+ description: 'Cilium Agent {{$labels.pod}} is experiencing high BPF map pressure
+ (over 90% full) on policy map: {{$labels.map_name}}. This means that the map
+ is running low on capacity. A full policy map may result in packet drops.'
+ summary: Cilium Agent is experiencing high BPF map pressure.
+ expr: sum(cilium_bpf_map_pressure{map_name=~"cilium_policy_.*"}) by (pod) > 0.9
+ for: 5m
+ labels:
+ severity: warning
+- name: Cilium Identity
+ rules:
+ - alert: CiliumNodeLocalHighIdentityAllocation
+ annotations:
+ description: |-
+ Cilium agent Pod {{$labels.pod}} is using a very high percent (over 80%) of its maximum per-node identity limit (65535).
+
+ If this capacity is exhausted Cilium may be unable to allocate new identities. Very high identity allocations can also indicate other problems
+ summary: Cilium is using a very high percent (over 80%) of its maximum per-node
+ identity limit (65535).
+ expr: (sum(cilium_identity{type="node_local"}) by (pod) / (2^16-1)) > 0.8
+ for: 5m
+ labels:
+ severity: warning
+ - alert: RunningOutOfCiliumClusterIdentities
+ annotations:
+ description: Cilium is using a very high percent of its maximum cluster identity
+ limit ({{value}}/65280) . If this capacity is exhausted Cilium may be unable
+ to allocate new identities. Very high identity allocations can also indicate
+ other problems
+ summary: Cilium is using a very high percent of its maximum cluster identity
+ limit (65280).
+ expr: sum(cilium_identity{type="cluster_local"}) by () / (2^16-256) > .8
+ for: 5m
+ labels:
+ severity: warning
+- name: Cilium Nodes
+ rules:
+ - alert: CiliumUnreachableNodes
+ annotations:
+ description: Cilium Agent {{$labels.pod}} is reporting unreachable Nodes in
+ the cluster.
+ summary: Cilium Agent is reporting unreachable Nodes in the cluster.
+ expr: sum(cilium_unreachable_nodes{}) by (pod) > 0
+ for: 15m
+ labels:
+ severity: info
diff --git a/assets/cilium-enterprise/dashboards/cilium-L3-policy.json b/assets/cilium-enterprise/dashboards/cilium-L3-policy.json
new file mode 100644
index 0000000..a3c66fc
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/cilium-L3-policy.json
@@ -0,0 +1,1217 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Cilium v1.12 (https://cilium.io/) Agent metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16611,
+ "graphTooltip": 1,
+ "id": 3,
+ "iteration": 1664184399070,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-agent"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Components",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 206,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(rate(cilium_forward_count_total{k8s_app=\"cilium\", direction=\"INGRESS\", pod=~\"$pod\"}[$__rate_interval])) by (pod))",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top Pod Ingress Packet Forward Rates",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 293,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, avg(rate(cilium_drop_count_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod, direction))",
+ "legendFormat": "{{pod}}:{{direction}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top Drop Rates",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 204,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_drop_count_total{k8s_app=\"cilium\", direction=\"EGRESS\", pod=~\"$pod\"}[$__rate_interval])) by (reason)",
+ "legendFormat": "Reason: {{reason}}",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_forward_count_total{k8s_app=\"cilium\", direction=\"EGRESS\", pod=~\"$pod\"}[$__rate_interval]))",
+ "hide": false,
+ "legendFormat": "Forwarded",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Egress Packet Drop Reasons",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 203,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_drop_count_total{k8s_app=\"cilium\", direction=\"INGRESS\"}[$__rate_interval])) by (reason)",
+ "legendFormat": "Reason: {{reason}}",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(rate(cilium_forward_count_total{k8s_app=\"cilium\", direction=\"INGRESS\", pod=~\"$pod\"}[$__rate_interval]))",
+ "hide": false,
+ "legendFormat": "Forwarded",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Ingress Packets by Reason",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 37,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_drop_count_total{direction=\"INGRESS\", k8s_app=\"cilium\", pod=~\"$pod\"}[$__rate_interval])) by (reason)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Reason: {{reason}}",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_forward_count_total{direction=\"INGRESS\", k8s_app=\"cilium\", pod=~\"$pod\"}[$__rate_interval])) by (reason)",
+ "hide": false,
+ "legendFormat": "Forwarded",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Cilium L3 Ingress Packet Counts",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "binBps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 294,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_forward_bytes_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by ( direction)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}} {{direction}}",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_forward_bytes_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))",
+ "hide": false,
+ "legendFormat": "Total",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Total Forwarded Traffic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 23
+ },
+ "id": 113,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(rate(cilium_drop_bytes_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (reason, direction))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{direction}} {{reason}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Dropped Traffic Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "L7 denied request"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#ea6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "L7 forwarded request"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7eb26d",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "denied"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 23
+ },
+ "id": 53,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_policy_l7_denied_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) ",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "denied",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_policy_l7_forwarded_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "forwarded",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(rate(cilium_policy_l7_received_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "received",
+ "refId": "C"
+ }
+ ],
+ "title": "L7 forwarded request",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 31
+ },
+ "id": 114,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_drop_bytes_total{direction=\"INGRESS\", k8s_app=\"cilium\", pod=~\"$pod\"}[$__rate_interval])) by (reason)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{reason}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Dropped Ingress Traffic Rate",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 36,
+ "style": "dark",
+ "tags": [
+ "cilium-agent"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "cilium.*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ },
+ "hide": 0,
+ "label": "top k",
+ "name": "k",
+ "options": [
+ {
+ "selected": true,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "10",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Cilium / Components / L3 Policy",
+ "uid": "integrations_cilium_ent_L3_policy",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/cilium-L7-proxy.json b/assets/cilium-enterprise/dashboards/cilium-L7-proxy.json
new file mode 100644
index 0000000..ac24b01
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/cilium-L7-proxy.json
@@ -0,0 +1,1088 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Cilium v1.12 (https://cilium.io/) Agent metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16611,
+ "graphTooltip": 1,
+ "id": 3,
+ "iteration": 1664184399070,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-agent"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Components",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#b7dbab",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "rgba(89, 132, 76, 0.54)",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2f575e",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 100,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "sum(cilium_proxy_redirects{k8s_app=\"cilium\", pod=~\"$pod\", protocol_l7!=\"\"}) by (protocol_l7)",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{protocol_l7}}",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_proxy_redirects{k8s_app=\"cilium\", pod=~\"$pod\", protocol_l7!=\"\"})",
+ "hide": false,
+ "legendFormat": "Total",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "L7 Total Proxy Redirects",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e24d42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140c",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 210,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(rate(cilium_policy_l7_parse_errors_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{label_name}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "L7 Parse Errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#64b0c8",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "count"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9ac48a",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#5195ce",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ed0e0",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg count"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "opm"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max count"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "opm"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 104,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.95, rate(cilium_triggers_policy_update_call_duration_seconds_sum{k8s_app=\"cilium\", pod=~\"$pod\", type=\"duration\"}[$__rate_interval]) / rate(cilium_triggers_policy_update_call_duration_seconds_count{k8s_app=\"cilium\", pod=~\"$pod\", type=\"duration\"}[$__rate_interval]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "p95",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.5, rate(cilium_triggers_policy_update_call_duration_seconds_sum{k8s_app=\"cilium\", pod=~\"$pod\", type=\"duration\"}[$__rate_interval]) / rate(cilium_triggers_policy_update_call_duration_seconds_count{k8s_app=\"cilium\", pod=~\"$pod\", type=\"duration\"}[$__rate_interval]))",
+ "hide": false,
+ "legendFormat": "p50",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.25, rate(cilium_triggers_policy_update_call_duration_seconds_sum{k8s_app=\"cilium\", pod=~\"$pod\", type=\"duration\"}[$__rate_interval]) / rate(cilium_triggers_policy_update_call_duration_seconds_count{k8s_app=\"cilium\", pod=~\"$pod\", type=\"duration\"}[$__rate_interval]))",
+ "hide": false,
+ "legendFormat": "p25",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "Policy Trigger Duration Quantiles (95, 50, 25)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#64b0c8",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "count"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9ac48a",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#5195ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ed0e0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg count"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "opm"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max count"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "opm"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 242,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.95, rate(cilium_triggers_policy_update_call_duration_seconds_sum{k8s_app=\"cilium\", pod=~\"$pod\", type=\"latency\"}[$__rate_interval]) / rate(cilium_triggers_policy_update_call_duration_seconds_count{k8s_app=\"cilium\", pod=~\"$pod\", type=\"latency\"}[$__rate_interval]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "p95",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.5, rate(cilium_triggers_policy_update_call_duration_seconds_sum{k8s_app=\"cilium\", pod=~\"$pod\", type=\"latency\"}[$__rate_interval]) / rate(cilium_triggers_policy_update_call_duration_seconds_count{k8s_app=\"cilium\", pod=~\"$pod\", type=\"duration\"}[$__rate_interval]))",
+ "hide": false,
+ "legendFormat": "p50",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.25, rate(cilium_triggers_policy_update_call_duration_seconds_sum{k8s_app=\"cilium\", pod=~\"$pod\", type=\"latency\"}[$__rate_interval]) / rate(cilium_triggers_policy_update_call_duration_seconds_count{k8s_app=\"cilium\", pod=~\"$pod\", type=\"duration\"}[$__rate_interval]))",
+ "hide": false,
+ "legendFormat": "p25",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "Policy Trigger Latency Quantiles (95, 50, 25)",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 36,
+ "style": "dark",
+ "tags": [
+ "cilium-agent"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "cilium.*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ },
+ "hide": 0,
+ "label": "top k",
+ "name": "k",
+ "options": [
+ {
+ "selected": true,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "10",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Cilium / Components / L7 Proxy",
+ "uid": "integrations_cilium_ent_L7_proxy",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/cilium-agent-overview.json b/assets/cilium-enterprise/dashboards/cilium-agent-overview.json
new file mode 100644
index 0000000..09431ec
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/cilium-agent-overview.json
@@ -0,0 +1,1690 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Cilium v1.12 (https://cilium.io/) Agent metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16611,
+ "graphTooltip": 1,
+ "id": 3,
+ "iteration": 1664184399070,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-agent"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Components",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Avg"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#cca300",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "rgb(167, 150, 111)",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "Min"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Min"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "add k8s"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "delete k8s"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "update k8s"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "add local-node"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 0
+ },
+ "id": 93,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(rate(cilium_nodes_all_events_received_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (event_type, source)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{eventType}} {{source}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Node Events",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 8,
+ "y": 0
+ },
+ "id": 91,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.1.6-10b38e80",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_nodes_all_num{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Nodes",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Cilium Nodes",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 12,
+ "y": 0
+ },
+ "id": 218,
+ "links": [ ],
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "9.1.6-10b38e80",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_unreachable_nodes{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Unreachable Cilium Nodes",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ipv4"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#5195ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ipv6"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6d1f62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "id": 87,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.1.6-10b38e80",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_ip_addresses{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (family)\n",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{family}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Allocated Addresses",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "cpu"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#cffaff",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 96,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "topk($k, avg(rate(cilium_process_cpu_seconds_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod))",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{pod }}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top Agent CPU Usage per Node",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 89,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(cilium_unreachable_health_endpoints{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (pod))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Reported Unreachable Health Endpoints",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "MAX_resident_memory_bytes_max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e5ac0e",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 13
+ },
+ "id": 24,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(cilium_process_resident_memory_bytes{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (pod))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "Resident memory status",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "AVG_virtual_memory_bytes"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Average Virtual Memory"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#f9d9f9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "MAX_virtual_memory_bytes"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e5ac0e",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max Virtual Memory"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max Virtual Memory"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "Min Virtual Memory"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Min Virtual Memory"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 13
+ },
+ "id": 26,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(cilium_process_virtual_memory_bytes{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (pod))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top Virtual Memory Bytes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "BPF memory usage in the entire system including components not managed by Cilium.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "MAX_resident_memory_bytes_max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e5ac0e",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "id": 178,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(cilium_bpf_maps_virtual_memory_max_bytes{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"} + cilium_bpf_progs_virtual_memory_max_bytes{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (pod))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "D"
+ }
+ ],
+ "title": "Top Total BPF Memory Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "all nodes"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e5a8e2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "id": 98,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(cilium_process_open_fds{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (pod))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top Open file descriptors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "BPF memory usage in the entire system including components not managed by Cilium.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "MAX_resident_memory_bytes_max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e5ac0e",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 27
+ },
+ "id": 246,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(cilium_bpf_progs_virtual_memory_max_bytes{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (pod))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "D"
+ }
+ ],
+ "title": "Top Total BPF Program Memory Usage by Pod",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "BPF memory usage in the entire system including components not managed by Cilium.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "MAX_resident_memory_bytes_max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e5ac0e",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 27
+ },
+ "id": 245,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(cilium_bpf_maps_virtual_memory_max_bytes{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (pod))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "D"
+ }
+ ],
+ "title": "Top Total BPF Maps Memory Usage",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 36,
+ "style": "dark",
+ "tags": [
+ "cilium-overview"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "cilium.*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ },
+ "hide": 0,
+ "label": "top k",
+ "name": "k",
+ "options": [
+ {
+ "selected": true,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "10",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Cilium / Agent Overview",
+ "uid": "integrations_cilium_ent_cluster",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/cilium-agent.json b/assets/cilium-enterprise/dashboards/cilium-agent.json
new file mode 100644
index 0000000..48e8236
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/cilium-agent.json
@@ -0,0 +1,1715 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Cilium v1.12 (https://cilium.io/) Agent metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16611,
+ "graphTooltip": 1,
+ "id": 3,
+ "iteration": 1664184399070,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-agent"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Components",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "error"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890f02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "warning"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#c15c17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 76,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(rate(cilium_errors_warnings_total{k8s_app=\"cilium\", level=\"error\", pod=~\"$pod\"}[$__rate_interval])) by (pod))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ pod }} ",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top Agent Error Rates",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "error"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890f02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "warning"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#c15c17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 290,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(rate(cilium_errors_warnings_total{k8s_app=\"cilium\", level=\"warning\", pod=~\"$pod\"}[$__rate_interval])) by (pod))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ pod }} ",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top-10 Agent Warnings Rates",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "This tracks internal controller runs within Cilium. Controllers are asynchronous controllers that attempt to reconcile Cilium state. Failing runs could indicate a problem with the agent.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Failed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Failing"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890f02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Runs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#5195ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 7
+ },
+ "id": 70,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_controllers_runs_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (status)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{status}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Agent Controller Runs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "This tracks internal controller runs within Cilium. Controllers are asynchronous controllers that attempt to reconcile Cilium state. Failing runs could indicate a problem with the agent.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Failed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Failing"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890f02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Runs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#5195ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 6,
+ "y": 7
+ },
+ "id": 230,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(rate(cilium_controllers_runs_total{k8s_app=\"cilium\", pod=~\"$pod\", status=\"failure\"}[$__rate_interval])) by (pod))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{status}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top Agent Controller Failures by Pod",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "duration failure"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890f02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "duration success"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "failure"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890f02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "runs failure"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890f02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "runs success"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7eb26d",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "success"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 7
+ },
+ "id": 68,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.95, rate(cilium_controllers_runs_duration_seconds_sum{pod=~\"$pod\"}[$__rate_interval]) / rate(cilium_controllers_runs_duration_seconds_count{pod=~\"$pod\"}[$__rate_interval])) by (status)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{status}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "P95 Agent Controller Duration",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 13
+ },
+ "id": 155,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Agent API",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 14
+ },
+ "id": 152,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(rate(cilium_agent_api_process_time_seconds_sum{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])/rate(cilium_agent_api_process_time_seconds_count{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod, method, path))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{method}} {{path}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top API Call Latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 14
+ },
+ "id": 157,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, rate(cilium_agent_api_process_time_seconds_count{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod, method, path)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}} {{method}} {{path}} ",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top API Call Rates",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "id": 153,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(.95, rate(cilium_agent_api_process_time_seconds_sum[$__rate_interval]) / rate(cilium_agent_api_process_time_seconds_count[$__rate_interval])) by (method, endpoint)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{method}} {{endpoint}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "P95 API Call Latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "id": 239,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(.5, rate(cilium_agent_api_process_time_seconds_sum[$__rate_interval]) / rate(cilium_agent_api_process_time_seconds_count[$__rate_interval])) by (method, endpoint)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{method}} {{endpoint}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Avg Agent API Call Time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 26
+ },
+ "id": 156,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_agent_api_process_time_seconds_count{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (method, path) > 0",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{method}} {{path}} ",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Avg API Calls",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 26
+ },
+ "id": 158,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, (sum(rate(cilium_agent_api_process_time_seconds_count{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (method, path, return_code)) > 0)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{return_code}} {{method}} {{path}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top API Return Codes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "id": 159,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(rate(cilium_agent_api_process_time_seconds_count{k8s_app=\"cilium\", pod=~\"$pod\", return_code!~\"2[0-9][0-9]\"}[$__rate_interval])) by (method, path, return_code) > 0)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{return_code}} {{method}} {{path}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top Non-2XX API Return Codes",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 36,
+ "style": "dark",
+ "tags": [
+ "cilium-agent"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "cilium.*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ },
+ "hide": 0,
+ "label": "top k",
+ "name": "k",
+ "options": [
+ {
+ "selected": true,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "10",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Cilium / Components / Agent",
+ "uid": "integrations_cilium_ent_agent",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/cilium-api.json b/assets/cilium-enterprise/dashboards/cilium-api.json
new file mode 100644
index 0000000..b78332d
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/cilium-api.json
@@ -0,0 +1,657 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Cilium v1.12 (https://cilium.io/) Agent metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16611,
+ "graphTooltip": 1,
+ "id": 3,
+ "iteration": 1664184399070,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-agent"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Components",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e24d42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140c",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 10,
+ "x": 0,
+ "y": 0
+ },
+ "id": 94,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.95, rate(cilium_proxy_upstream_reply_seconds_sum{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval]) / rate(cilium_proxy_upstream_reply_seconds_count{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (scope)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{scope}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "P95 Proxy Response Time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e24d42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140c",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 10,
+ "x": 10,
+ "y": 0
+ },
+ "id": 249,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(rate(cilium_proxy_upstream_reply_seconds_sum{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval]) / rate(cilium_proxy_upstream_reply_seconds_count{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (scope)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{scope}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Avg Proxy Response Time",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 36,
+ "style": "dark",
+ "tags": [
+ "cilium-agent"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "cilium.*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ },
+ "hide": 0,
+ "label": "top k",
+ "name": "k",
+ "options": [
+ {
+ "selected": true,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "10",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Cilium / Components / API",
+ "uid": "integrations_cilium_ent_api",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/cilium-bpf.json b/assets/cilium-enterprise/dashboards/cilium-bpf.json
new file mode 100644
index 0000000..c0a7d84
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/cilium-bpf.json
@@ -0,0 +1,792 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Cilium v1.12 (https://cilium.io/) Agent metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16611,
+ "graphTooltip": 1,
+ "id": 3,
+ "iteration": 1664184399070,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-agent"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Components",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 262,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_bpf_map_ops_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (map_name)",
+ "hide": false,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "BPF Map Operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 286,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_bpf_map_ops_total{k8s_app=\"cilium\", pod=~\"$pod\", operation=\"delete\"}[$__rate_interval])) by (map_name)",
+ "hide": false,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "BPF Map Deletes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 285,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_bpf_map_ops_total{k8s_app=\"cilium\", pod=~\"$pod\", operation=\"update\"}[$__rate_interval])) by (map_name)",
+ "hide": false,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "BPF Map Updates",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "Errors/Minute"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 0,
+ "y": 15
+ },
+ "id": 244,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_bpf_map_ops_total{k8s_app=\"cilium\", outcome=\"fail\",pod=~\"$pod\"}[$__rate_interval])) * 60",
+ "hide": false,
+ "legendFormat": "{{outcome}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "BPF Map Operation Error Rate",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 11,
+ "x": 6,
+ "y": 15
+ },
+ "id": 287,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(rate(cilium_bpf_map_ops_total{k8s_app=\"cilium\", outcome=\"fail\",pod=~\"$pod\"}[$__rate_interval])) by (endpoint, pod, operation))",
+ "hide": false,
+ "legendFormat": "{{pod}} {{operation}} {{endpoint}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Top BPF Map Operation Failures",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 7,
+ "x": 17,
+ "y": 15
+ },
+ "id": 243,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_bpf_map_ops_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (operation, outcome)",
+ "hide": false,
+ "legendFormat": "{{operation}}: {{outcome}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Map Operation Outcomes",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 36,
+ "style": "dark",
+ "tags": [
+ "cilium-agent"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "cilium.*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ },
+ "hide": 0,
+ "label": "top k",
+ "name": "k",
+ "options": [
+ {
+ "selected": true,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "10",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Cilium / Components / BPF",
+ "uid": "integrations_cilium_ent_bpf",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/cilium-conntrack.json b/assets/cilium-enterprise/dashboards/cilium-conntrack.json
new file mode 100644
index 0000000..5e633c9
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/cilium-conntrack.json
@@ -0,0 +1,1229 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Cilium v1.12 (https://cilium.io/) Agent metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16611,
+ "graphTooltip": 1,
+ "id": 3,
+ "iteration": 1664184399070,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-agent"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Components",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate at which ConnTrack reported its run outcome. Runs reported \"uncompleted\" may indicate a problem with ConnTrack GC, which could lead to full CT tables and dropped packets.\n",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 274,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_datapath_conntrack_gc_runs_total{pod=~\"$pod\"}[$__rate_interval])) by (status)",
+ "hide": false,
+ "legendFormat": "{{status}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Conntrack GC Run Rate by Status",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Entries"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 278,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(cilium_datapath_conntrack_gc_entries{pod=~\"$pod\"}) by (pod, status))",
+ "hide": false,
+ "legendFormat": "{{pod}} {{status}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Top Conntrack GC Key Entries",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Entries"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 7
+ },
+ "id": 280,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_datapath_conntrack_gc_entries{pod=~\"$pod\"}) by (status)",
+ "hide": false,
+ "legendFormat": "{{family}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Total Conntrack GC Key Entries",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "dtdurations"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 7
+ },
+ "id": 281,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.95, sum(rate(cilium_datapath_conntrack_gc_duration_seconds_sum{pod=~\"$pod\"}[$__rate_interval]) / rate(cilium_datapath_conntrack_gc_duration_seconds_count{pod=~\"$pod\"}[$__rate_interval])) by (pod))",
+ "hide": false,
+ "legendFormat": "P95",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.5, sum(rate(cilium_datapath_conntrack_gc_duration_seconds_sum{pod=~\"$pod\"}[$__rate_interval]) / rate(cilium_datapath_conntrack_gc_duration_seconds_count{pod=~\"$pod\"}[$__rate_interval])) by (pod))",
+ "hide": false,
+ "legendFormat": "P50",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.25, sum(rate(cilium_datapath_conntrack_gc_duration_seconds_sum{pod=~\"$pod\"}[$__rate_interval]) / rate(cilium_datapath_conntrack_gc_duration_seconds_count{pod=~\"$pod\"}[$__rate_interval])) by (pod))",
+ "hide": false,
+ "legendFormat": "P25",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "Conntrack GC Duration Quantiles",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate at which ConnTrack reported its run outcome. Runs reported \"uncompleted\" may indicate a problem with ConnTrack GC, which could lead to full CT tables and dropped packets.\n",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 14
+ },
+ "id": 279,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_datapath_conntrack_gc_key_fallbacks_total{pod=~\"$pod\"}[$__rate_interval])) by (family, protocol)",
+ "hide": false,
+ "legendFormat": "{{family}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Conntrack GC Key Fallbacks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "dtdurations"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 14
+ },
+ "id": 283,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(rate(cilium_datapath_conntrack_gc_duration_seconds_sum{pod=~\"$pod\"}[$__rate_interval]) / rate(cilium_datapath_conntrack_gc_duration_seconds_count{pod=~\"$pod\"}[$__rate_interval])) by (pod))",
+ "hide": false,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Top Agent Conntrack GC Duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Entries"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Alive ipv4"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0a50a1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Alive ipv4 non-TCP"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#f9d9f9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Alive ipv6"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Alive ipv6 TCP"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806eb7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Alive ipv6 non-TCP"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Alive CT entries ipv6"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#badff4",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Deleted CT entries ipv4"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Deleted ipv4"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890f02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Deleted ipv4 non-TCP"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890f02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Deleted ipv6"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "L7 denied request"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890f02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "L7 forwarded request"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7eb26d",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e0f9d7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "deleted"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ed0e0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "deleted max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#447ebc",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629e51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629e51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 21
+ },
+ "id": 56,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_datapath_conntrack_gc_entries{k8s_app=\"cilium\", family=\"ipv4\", protocol=\"TCP\", pod=~\"$pod\"}) by (status, family)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{family}} {{status}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "IPv4 Conntrack GC Entries",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 36,
+ "style": "dark",
+ "tags": [
+ "cilium-agent"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "cilium.*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ },
+ "hide": 0,
+ "label": "top k",
+ "name": "k",
+ "options": [
+ {
+ "selected": true,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "10",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Cilium / Components / Conntrack",
+ "uid": "integrations_cilium_ent_conntrack",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/cilium-datapath.json b/assets/cilium-enterprise/dashboards/cilium-datapath.json
new file mode 100644
index 0000000..96f8615
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/cilium-datapath.json
@@ -0,0 +1,939 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Cilium v1.12 (https://cilium.io/) Agent metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16611,
+ "graphTooltip": 1,
+ "id": 3,
+ "iteration": 1664184399070,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-agent"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Components",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "dump_interrupts conntrack ipv4"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#ea6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "dump_interrupts conntrack ipv6"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140c",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 79,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(rate(cilium_datapath_conntrack_dump_resets_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (area, family, name, pod))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}} {{name}} {{area}} {{family}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Datapath Conntrack Dump Resets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": -1,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 0,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "disconnecting"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ready"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "rgba(81, 220, 95, 0.52)",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "waiting-to-regenerate"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0a50a1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 51,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_endpoint_state{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (endpoint_state)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{endpoint_state}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Cilium Endpoint State",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 106,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_services_events_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod, action)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{action}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Service Updates",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "purple",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 33,
+ "links": [ ],
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_policy_endpoint_enforcement_status{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (enforcement)",
+ "format": "time_series",
+ "hide": false,
+ "instant": true,
+ "interval": "1s",
+ "intervalFactor": 1,
+ "legendFormat": "{{enforcement}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Endpoints Policy Enforcement Status",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "fail"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "fail/min"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890f02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "success"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#447ebc",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "success/min"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3f6833",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 17
+ },
+ "id": 49,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_endpoint_regenerations_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by(outcome)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{outcome}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Endpoint Regenerations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 17
+ },
+ "id": 55,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.95, rate(cilium_endpoint_regeneration_time_stats_seconds_sum{pod=\"$pod\"}[$__rate_interval]) / rate(cilium_endpoint_regeneration_time_stats_seconds_count{pod=\"$pod\"}[$__rate_interval])) by (pod)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{scope}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "P95 Endpoint Regeneration Time",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 36,
+ "style": "dark",
+ "tags": [
+ "cilium-agent"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "cilium.*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ },
+ "hide": 0,
+ "label": "top k",
+ "name": "k",
+ "options": [
+ {
+ "selected": true,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "10",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Cilium / Components / Datapath",
+ "uid": "integrations_cilium_ent_datapath",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/cilium-external-fqdn-proxy.json b/assets/cilium-enterprise/dashboards/cilium-external-fqdn-proxy.json
new file mode 100644
index 0000000..3bc831b
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/cilium-external-fqdn-proxy.json
@@ -0,0 +1,1599 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Cilium Enterprise v1.12 (https://cilium.io/) HA FQDN Proxy metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16611,
+ "graphTooltip": 1,
+ "id": 133,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-agent"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Components",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "This contains HA FQDN Pods that have a high queue of backed up requests to process. Extended periods of non-zero queue size likely indicate problems with the HA FQDN Proxy or with Cilium Enterprise itself. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "index": 0,
+ "text": "All Queues Empty"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "Queued"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 323,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(isovalent_external_dns_proxy_update_queue_size{pod=~\"$pod\", namespace=~\"$namespace\", cluster=~\"$cluster\"}) by (pod) > 0",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "External FQDN Update High Queue ",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e24d42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140c",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 4,
+ "y": 0
+ },
+ "id": 317,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(isovalent_external_dns_proxy_update_errors_total{pod=~\"$pod\", namespace=~\"$namespace\", cluster=~\"$cluster\"}[$__rate_interval])) by (error)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{scope}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "External FQDN Proxy Update Errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e24d42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140c",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 315,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(isovalent_external_dns_proxy_processing_duration_seconds{pod=~\"$pod\", namespace=~\"$namespace\", cluster=~\"$cluster\"}) by (pod))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{scope}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top HA DNS Proxy Agent Processing Duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e24d42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140c",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 313,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(isovalent_external_dns_proxy_update_queue_size{pod=~\"$pod\", namespace=~\"$namespace\", cluster=~\"$cluster\"}) by (pod))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top External FQDN Update Queue Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e24d42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140c",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 324,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(isovalent_external_dns_proxy_processing_duration_seconds{pod=~\"$pod\", namespace=~\"$namespace\", cluster=~\"$cluster\"})",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{scope}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top HA DNS Proxy Agent Processing Duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e24d42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140c",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 308,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(isovalent_external_dns_proxy_policy_l7_total{pod=~\"$pod\", namespace=~\"$namespace\", cluster=~\"$cluster\"}[$__rate_interval])) by (rule)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{scope}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "HA DNS Policy L7 Total",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e24d42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140c",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 316,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.95, isovalent_external_dns_proxy_processing_duration_seconds{pod=~\"$pod\", namespace=~\"$namespace\", cluster=~\"$cluster\"})",
+ "hide": false,
+ "legendFormat": "P95",
+ "range": true,
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.75, isovalent_external_dns_proxy_processing_duration_seconds{pod=~\"$pod\", namespace=~\"$namespace\", cluster=~\"$cluster\"})",
+ "hide": false,
+ "legendFormat": "P75",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.50, isovalent_external_dns_proxy_processing_duration_seconds{pod=~\"$pod\", namespace=~\"$namespace\", cluster=~\"$cluster\"})",
+ "hide": false,
+ "legendFormat": "P50",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "P95 HA DNS Proxy Upstream Duration",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": false,
+ "schemaVersion": 36,
+ "style": "dark",
+ "tags": [
+ "cilium-agent"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": {
+ "selected": true,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(isovalent_external_dns_proxy_update_queue_size, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(isovalent_external_dns_proxy_update_queue_size, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": true,
+ "text": "kube-system",
+ "value": "kube-system"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(isovalent_external_dns_proxy_update_queue_size{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": false,
+ "multi": false,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(isovalent_external_dns_proxy_update_queue_size{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "cilium.*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(isovalent_external_dns_proxy_update_queue_size{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(isovalent_external_dns_proxy_update_queue_size{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ },
+ "hide": 0,
+ "name": "k",
+ "options": [
+ {
+ "selected": true,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "10",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-15m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "utc",
+ "title": "Cilium / Components / External HA FQDN Proxy",
+ "uid": "integrations_cilium_ent_ha_fqdn_proxy",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/cilium-fqdn-proxy.json b/assets/cilium-enterprise/dashboards/cilium-fqdn-proxy.json
new file mode 100644
index 0000000..2726ef4
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/cilium-fqdn-proxy.json
@@ -0,0 +1,1082 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Cilium v1.12 (https://cilium.io/) Agent metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16611,
+ "graphTooltip": 1,
+ "id": 3,
+ "iteration": 1664184399070,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-agent"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Components",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "This is the P95 latency for FQDN upstream DNS request times. Increases here could indicate issues with upstream cluster DNS. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e24d42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140c",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 211,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.95, rate(cilium_proxy_upstream_reply_seconds_sum{pod=~\"$pod\"}[$__rate_interval]) / rate(cilium_proxy_upstream_reply_seconds_count{pod=~\"$pod\"}[$__rate_interval])) by (scope)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{scope}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "P95 FQDN Proxy Upstream Reply Latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "This is the P95 latency for FQDN upstream DNS request times. Increases here could indicate issues with upstream cluster DNS. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e24d42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140c",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 240,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.95, rate(cilium_proxy_upstream_reply_seconds_sum[$__rate_interval]) / rate(cilium_proxy_upstream_reply_seconds_count[$__rate_interval])) by (scope)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}: {{scope}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "P95 FQDN Proxy Upstream Reply Latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "This is the P95 latency for FQDN upstream DNS request times. Increases here could indicate issues with upstream cluster DNS. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e24d42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140c",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 238,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.95, rate(cilium_proxy_upstream_reply_seconds_sum{pod=~\"$pod\"}[$__rate_interval]) / rate(cilium_proxy_upstream_reply_seconds_count{pod=~\"$pod\"}[$__rate_interval]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}: {{scope}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "P95 FQDN Proxy Upstream Reply Latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "This is the P95 latency for FQDN upstream DNS request times. Increases here could indicate issues with upstream cluster DNS. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e24d42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140c",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node processingTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max per node upstreamTime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg(cilium_policy_l7_parse_errors_total{pod=~\"cilium.*\"})"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "parse errors"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 241,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.5, rate(cilium_proxy_upstream_reply_seconds_sum{pod=~\"$pod\"}[$__rate_interval]) / rate(cilium_proxy_upstream_reply_seconds_count{pod=~\"$pod\"}[$__rate_interval]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}: {{scope}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Median FQDN Proxy Upstream Reply Latency",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 36,
+ "style": "dark",
+ "tags": [
+ "cilium-agent"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "cilium.*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ },
+ "hide": 0,
+ "label": "top k",
+ "name": "k",
+ "options": [
+ {
+ "selected": true,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "10",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Cilium / Components / FQDN Proxy",
+ "uid": "integrations_cilium_ent_fqdn_proxy",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/cilium-identities.json b/assets/cilium-enterprise/dashboards/cilium-identities.json
new file mode 100644
index 0000000..e188722
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/cilium-identities.json
@@ -0,0 +1,417 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Cilium v1.12 (https://cilium.io/) Agent metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16611,
+ "graphTooltip": 1,
+ "id": 3,
+ "iteration": 1664184399070,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-agent"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Components",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 53,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Identities"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 11,
+ "x": 0,
+ "y": 0
+ },
+ "id": 259,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_identity{pod=~\"$pod\"}) by (type)",
+ "hide": false,
+ "legendFormat": "{{type}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Allocated Identities",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number identities allocated by type.\n\nLimits for identity allocations are:\n\nMax(cluster_local)=65280\nMax(node_local)=65535.\n\nRunning out of identities is a potentially critical issue.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 60000
+ },
+ {
+ "color": "red",
+ "value": 65280
+ }
+ ]
+ },
+ "unit": "Identities"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 13,
+ "x": 11,
+ "y": 0
+ },
+ "id": 304,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_identity{pod=~\"$pod\"}) by (type)",
+ "hide": false,
+ "legendFormat": "{{type}}",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_identity{pod=~\"$pod\"})",
+ "hide": false,
+ "legendFormat": "total",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Allocated Identities",
+ "type": "stat"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 36,
+ "style": "dark",
+ "tags": [
+ "cilium-agent"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "cilium.*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ },
+ "hide": 0,
+ "label": "top k",
+ "name": "k",
+ "options": [
+ {
+ "selected": true,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "10",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Cilium / Components / Identities",
+ "uid": "integrations_cilium_ent_identities",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/cilium-kubernetes.json b/assets/cilium-enterprise/dashboards/cilium-kubernetes.json
new file mode 100644
index 0000000..e075127
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/cilium-kubernetes.json
@@ -0,0 +1,1582 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Cilium v1.12 (https://cilium.io/) Agent metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16611,
+ "graphTooltip": 1,
+ "id": 3,
+ "iteration": 1664184399070,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-agent"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Components",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 55,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 253,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_kubernetes_events_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (scope, action)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{scope}} {{action}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Kubernetes Events Received/Consumed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 252,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_kubernetes_events_received_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (scope, action)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{scope}} {{action}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Kubernetes Events Received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 49,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineStyle": {
+ "fill": "solid"
+ },
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 7
+ },
+ "id": 166,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_k8s_client_api_calls_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (method, return_code)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{method}} {{return_code}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Kube API-Server Calls",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 7
+ },
+ "id": 163,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.95, rate(cilium_k8s_client_api_latency_time_seconds_sum{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])/rate(cilium_k8s_client_api_latency_time_seconds_count{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod, method, path)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{method}} {{path}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "P95 Kube API-Server Latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "create avg"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#70dbed",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "delete avg"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e24d42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "update avg"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e0f9d7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 14
+ },
+ "id": 109,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_kubernetes_events_total{k8s_app=\"cilium\", scope=\"Pod\", pod=~\"$pod\"}[$__rate_interval])) by (action)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{action}} avg",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Pod Events Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 14
+ },
+ "id": 172,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_kubernetes_events_received_total{k8s_app=\"cilium\", equal=\"true\", valid=\"true\", pod=~\"$pod\"}[$__rate_interval])) by (scope, action)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{action}} {{scope}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "No-op K8s Events Received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 21
+ },
+ "id": 174,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_kubernetes_events_received_total{k8s_app=\"cilium\", equal=\"true\", valid=\"false\", pod=~\"$pod\"}[$__rate_interval])) by (pod, scope, action)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{action}} {{scope}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Invalid, Unnecessary K8s Events Received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 21
+ },
+ "id": 258,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_kubernetes_events_received_total{k8s_app=\"cilium\", valid=\"false\", pod=~\"$pod\"}[$__rate_interval])) by (scope, action)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{action}} {{scope}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Invalid K8s Events Received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 28
+ },
+ "id": 175,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_kubernetes_events_received_total{k8s_app=\"cilium\", equal=\"false\", valid=\"true\", pod=~\"$pod\"}[$__rate_interval])) by (scope, action, valid)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{action}} {{scope}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Valid Necessary K8s Events Received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 28
+ },
+ "id": 108,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_kubernetes_events_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (scope, action)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{action}} {{scope}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Total Events",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 35
+ },
+ "id": 173,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_kubernetes_events_received_total{k8s_app=\"cilium\", equal=\"false\", valid=\"false\", pod=~\"$pod\"}[$__rate_interval])) by (pod, scope, action)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}} {{action}} {{scope}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top Invalid, Necessary K8s Events Received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 36
+ },
+ "id": 257,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, avg(rate(cilium_kubernetes_events_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod, scope, action))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}} {{action}} {{scope}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Top Pod Kubernetes Events",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": [
+ "cilium-agent"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "cilium.*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ },
+ "hide": 0,
+ "label": "top k",
+ "name": "k",
+ "options": [
+ {
+ "selected": true,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "10",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Cilium / Components / Kubernetes",
+ "uid": "integrations_cilium_ent_k8s",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/cilium-network.json b/assets/cilium-enterprise/dashboards/cilium-network.json
new file mode 100644
index 0000000..e95cb0c
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/cilium-network.json
@@ -0,0 +1,433 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Cilium v1.12 (https://cilium.io/) Agent metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16611,
+ "graphTooltip": 1,
+ "id": 3,
+ "iteration": 1664184399070,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-agent"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Components",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ipv4"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#5195ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ipv6"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6d1f62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 87,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_ip_addresses{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (family)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{family}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Allocated Addresses",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 89,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(cilium_unreachable_health_endpoints{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (pod))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Reported Unreachable Health Endpoints",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 36,
+ "style": "dark",
+ "tags": [
+ "cilium-agent"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "cilium.*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ },
+ "hide": 0,
+ "label": "top k",
+ "name": "k",
+ "options": [
+ {
+ "selected": true,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "10",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Cilium / Components / Network",
+ "uid": "integrations_cilium_ent_network",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/cilium-nodes.json b/assets/cilium-enterprise/dashboards/cilium-nodes.json
new file mode 100644
index 0000000..d4f00cf
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/cilium-nodes.json
@@ -0,0 +1,586 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Cilium v1.12 (https://cilium.io/) Agent metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16611,
+ "graphTooltip": 1,
+ "id": 3,
+ "iteration": 1664184399070,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-agent"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Components",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 226,
+ "panels": [ ],
+ "title": "Cilium Nodes",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Avg"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#cca300",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "rgb(167, 150, 111)",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "Min"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Min"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "add k8s"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "delete k8s"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "update k8s"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "add local-node"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 18,
+ "x": 0,
+ "y": 1
+ },
+ "id": 93,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(rate(cilium_nodes_all_events_received_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (event_type, source)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{eventType}} {{source}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Node Events",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 1
+ },
+ "id": 91,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_nodes_all_num{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Nodes",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Cilium Nodes",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 7
+ },
+ "id": 218,
+ "links": [ ],
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_unreachable_nodes{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Unreachable Cilium Nodes",
+ "type": "gauge"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 36,
+ "style": "dark",
+ "tags": [
+ "cilium-agent"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "cilium.*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ },
+ "hide": 0,
+ "label": "top k",
+ "name": "k",
+ "options": [
+ {
+ "selected": true,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "10",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Cilium / Components / Nodes",
+ "uid": "integrations_cilium_ent_nodes",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/cilium-operator.json b/assets/cilium-enterprise/dashboards/cilium-operator.json
new file mode 100644
index 0000000..0200caa
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/cilium-operator.json
@@ -0,0 +1,4420 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Cilium v1.12 (https://cilium.io/) Operator metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16611,
+ "graphTooltip": 1,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-agent"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Components",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "This metric represents the average number of CiliumEndpoints per CiliumEndpointSlice. CiliumEndpointSlices contain CiliumEndpoints with the same security identity profile and are used to reduce apiserver load on large clusters. \n\nA low number may indicate that CiliumEndpointSlices are not being used efficiently.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "CEPs/CES"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlYlRd"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 3,
+ "x": 0,
+ "y": 0
+ },
+ "id": 112,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_operator_number_of_ceps_per_ces_sum{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval]) / rate(cilium_operator_number_of_ceps_per_ces_sum{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) ",
+ "hide": false,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Average CiliumEndpoints per CiliumEndpointSlice",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "CiliumEndpointSlices contain mirror Endpoints in the cluster, and must be synced with cluster CiliumEndpoints in order to be accurate and allow for correct application of network policy and forwarding.\n\nHigh sync delays could indicate problems with the Operator or with Kube-APIServer.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "P95"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#d683ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "P75"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "P50"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 3,
+ "y": 0
+ },
+ "id": 105,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.95, sum(rate(cilium_operator_ec2_api_duration_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "P95",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.75, sum(rate(cilium_operator_ec2_api_duration_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "P75",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.50, sum(rate(cilium_operator_ec2_api_duration_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "P50",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "CiliumEndpointSlice Sync Delay Quantiles",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The operator is responsible with keeping CiliumEndpointSlice resources in sync. Failure to do so may cause problems with connectivity as Cilium Agents may not be aware of routable Endpoints in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "continuous-BlYlRd"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 7,
+ "x": 11,
+ "y": 0
+ },
+ "id": 129,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_operator_ces_sync_errors_total{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "CiliumEndpointSlice Sync Errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "P95"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#d683ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "P75"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "P50"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 0
+ },
+ "id": 128,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.95, sum(rate(cilium_operator_ces_queueing_delay_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "P95",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.75, sum(rate(cilium_operator_ces_queueing_delay_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "P75",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.50, sum(rate(cilium_operator_ces_queueing_delay_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "P50",
+ "range": true,
+ "refId": "D"
+ }
+ ],
+ "title": "CiliumEndpointSlice Queue Delay Quantiles",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 0,
+ "y": 6
+ },
+ "id": 119,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_operator_ipam_k8s_sync_queued_total{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "K8s Sync Queue Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "IPAM IPs is the number of IP addresses the operator is able to allocate for the cluster by type. A cluster with no available IPs will not be able to schedule new Pods. IPAM IPs available is influenced by your cloud provider, network configuration and compute instance type.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "unit": "opm"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "average duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#d683ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#967302",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#fceaca",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 4,
+ "y": 6
+ },
+ "id": 132,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "pieType": "pie",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_operator_ipam_ips{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}) by (type)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Operator IPAM IPs",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The operator is responsible with keeping CiliumEndpointSlice resources in sync. Failure to do so may cause problems with connectivity as Cilium Agents may not be aware of routable Endpoints in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 8,
+ "y": 6
+ },
+ "id": 103,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_operator_ces_sync_errors_total{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "CiliumEndpointSlice Sync Errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "For Operators running AWS EC2 Cloud Instances, this metric indicates the duration of API calls to the AWS API. This is necessary for IPAM and scheduling of Pods.\n\nHigh latency may indicate problems, likely that API calls from the Operator are being throttled. API rate limiting can be configured on the Operator.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "P95"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#d683ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "P75"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "P50"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 5,
+ "x": 14,
+ "y": 6
+ },
+ "id": 130,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.95, sum(rate(cilium_operator_ec2_api_duration_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "P95",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.75, sum(rate(cilium_operator_ec2_api_duration_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "P75",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.50, sum(rate(cilium_operator_ec2_api_duration_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "P50",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "EC2 API Queue Delay Quantiles",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "P95"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#d683ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "P75"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "P50"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 5,
+ "x": 19,
+ "y": 6
+ },
+ "id": 131,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_operator_ipam_interface_creation_ops{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (status, subnet_id, pod)",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{status}}",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "IPAM Interface Creations",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 12
+ },
+ "id": 121,
+ "panels": [ ],
+ "title": "IPAM",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "IPAM IPs is the number of IP addresses the operator is able to allocate for the cluster by type. A cluster with no available IPs will not be able to schedule new Pods. IPAM IPs available is influenced by your cloud provider, network configuration and compute instance type.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "average duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#d683ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#967302",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#fceaca",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 0,
+ "y": 13
+ },
+ "id": 102,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_operator_ipam_ips{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}) by (type)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Operator IPAM IPs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "nodes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "average duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#d683ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#967302",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#fceaca",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 4,
+ "y": 13
+ },
+ "id": 117,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_operator_ipam_nodes{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "IPAM Nodes",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "IPAM IPs is the number of IP addresses the operator is able to allocate for the cluster by type. A cluster with no available IPs will not be able to schedule new Pods. IPAM IPs available is influenced by your cloud provider, network configuration and compute instance type.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "average duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#d683ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#967302",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#fceaca",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 10,
+ "y": 13
+ },
+ "id": 116,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_operator_ipam_ips{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}) by (type)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Operator IPAM IPs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "average duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#d683ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#967302",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#fceaca",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min trigger"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 7,
+ "x": 16,
+ "y": 13
+ },
+ "id": 111,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_operator_ipam_k8s_sync_queued_total{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "IPAM Sync Queue Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "average duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#d683ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#967302",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#fceaca",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min trigger"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min trigger"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 19
+ },
+ "id": 114,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_operator_ipam_resync_total{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "IPAM Resyncs Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "average duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#d683ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#967302",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#fceaca",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min trigger"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 6,
+ "y": 19
+ },
+ "id": 107,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_operator_identity_gc_runs{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod, outcome)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{outcome}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Operator Identity GC Runs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "average duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#d683ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#967302",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#fceaca",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min trigger"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 12,
+ "y": 19
+ },
+ "id": 118,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "rate(cilium_operator_ipam_resync_queued_total{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "IPAM Resync Queue Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "average duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#d683ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#967302",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#fceaca",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 19
+ },
+ "id": 110,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_operator_ipam_allocation_ops{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "IPAM Allocation Operations",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "average duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#d683ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#967302",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#fceaca",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min trigger"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min trigger"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 25
+ },
+ "id": 108,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.95, sum(rate(cilium_operator_ipam_deficit_resolver_duration_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "P95",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.75, sum(rate(cilium_operator_ipam_deficit_resolver_duration_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "P75",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.5, sum(rate(cilium_operator_ipam_deficit_resolver_duration_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "P50",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "IPAM Deficit Resolver Duration Quantiles",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "average duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#d683ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#967302",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#fceaca",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min trigger"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min trigger"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 6,
+ "y": 25
+ },
+ "id": 124,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.95, sum(rate(cilium_operator_ipam_deficit_resolver_duration_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "P95",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.75, sum(rate(cilium_operator_ipam_deficit_resolver_duration_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "P75",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.5, sum(rate(cilium_operator_ipam_deficit_resolver_duration_seconds_bucket{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "P50",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "IPAM Deficit Resolver Duration Quantiles",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "entries"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "average duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#d683ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#967302",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#fceaca",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 12,
+ "y": 25
+ },
+ "id": 106,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_operator_identity_gc_entries{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}) by (pod)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{label_name}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Operator Identity GC Entries",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "average duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#d683ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#967302",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#fceaca",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 25
+ },
+ "id": 113,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_operator_ipam_interface_creation_ops{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Interface Creation Operations",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 31
+ },
+ "id": 123,
+ "panels": [ ],
+ "title": "Resource Utilization",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 32
+ },
+ "id": 109,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "rate(cilium_operator_process_cpu_seconds_total{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}[$__rate_interval])",
+ "hide": false,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Operator CPU Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 6,
+ "y": 32
+ },
+ "id": 125,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_operator_process_resident_memory_bytes{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}) by (pod)",
+ "hide": false,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Operator Memory RSS Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 12,
+ "y": 32
+ },
+ "id": 126,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_operator_process_virtual_memory_bytes{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}) by (pod)",
+ "hide": false,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Operator Virtual Memory Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "fd"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 32
+ },
+ "id": 127,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_operator_process_open_fds{cluster=~\"$cluster\", pod=~\"$pod\", namespace=~\"$namespace\"}) by (pod)",
+ "hide": false,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Operator Open File Descriptors",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 37,
+ "style": "dark",
+ "tags": [
+ "cilium-overview"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "cilium.*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_operator_identity_gc_entries{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_operator_identity_gc_entries{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ },
+ "hide": 0,
+ "label": "top k",
+ "name": "k",
+ "options": [
+ {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "10",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-3h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Cilium / Operator",
+ "uid": "integrations_cilium_ent_operator",
+ "version": 1,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/cilium-overview.json b/assets/cilium-enterprise/dashboards/cilium-overview.json
new file mode 100644
index 0000000..de87cfb
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/cilium-overview.json
@@ -0,0 +1,1751 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Cilium v1.12 (https://cilium.io/) Agent metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16611,
+ "graphTooltip": 1,
+ "id": 3,
+ "iteration": 1664184399070,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-agent"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Components",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Tracks number of errors emitted during Cilium Agent runtime. Increased error rates could indicate issues with cilium.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "yellow",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "error"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890f02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "warning"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#c15c17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 0
+ },
+ "id": 291,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.0.2",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, avg(rate(cilium_errors_warnings_total{k8s_app=\"cilium\", level=\"error\", pod=~\"$pod\"}[$__rate_interval])) by (pod, subsystem)) > 0",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ pod }} {{subsystem}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top Cilium Agent Error Rates",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "yellow",
+ "value": 0.10000000000000001
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 5,
+ "x": 6,
+ "y": 0
+ },
+ "id": 301,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.0.2",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.95, rate(cilium_agent_api_process_time_seconds_sum{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])/rate(cilium_agent_api_process_time_seconds_count{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "P95",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Agent API Call Latency (95th Percentile)",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "purple",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 7,
+ "x": 11,
+ "y": 0
+ },
+ "id": 296,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.0.2",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase(cilium_forward_bytes_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__range])) by (direction)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}} {{direction}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Total Forwarded Traffic",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 18,
+ "y": 0
+ },
+ "id": 265,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.0.2",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_drop_count_total{}[$__rate_interval])) by (reason) / scalar(sum(rate(cilium_drop_count_total{}[$__rate_interval])) + 0.1) > 0",
+ "hide": false,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Packet Drop Reasons",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "Errors/Minute"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 11,
+ "y": 4
+ },
+ "id": 299,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.0.2",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_bpf_map_ops_total{k8s_app=\"cilium\", outcome=\"fail\",pod=~\"$pod\"}[$__rate_interval])) * 60",
+ "hide": false,
+ "legendFormat": "{{outcome}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "BPF Map Operation Error Rate",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 5
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 15,
+ "y": 4
+ },
+ "id": 297,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.0.2",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.95, rate(cilium_controllers_runs_duration_seconds_sum{pod=~\"$pod\"}[$__rate_interval]) / rate(cilium_controllers_runs_duration_seconds_count{pod=~\"$pod\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{status}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "P95 Agent Controller Run Duration",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#c15c17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 8
+ },
+ "id": 289,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_errors_warnings_total{k8s_app=\"cilium\", level=\"error\", pod=~\"$pod\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ pod }} ",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Agent Error Rates",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 64,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "error"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890f02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "warning"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#c15c17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 8
+ },
+ "id": 195,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(rate(cilium_errors_warnings_total{k8s_app=\"cilium\", level=\"warning\", pod=~\"$pod\"}[$__rate_interval])) by (pod))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ pod }} ",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top Agent Warnings Rates",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number identities allocated by type.\n\nLimits for identity allocations are:\n\nMax(cluster_local)=65280\nMax(node_local)=65535.\n\nRunning out of identities is a potentially critical issue.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 60000
+ },
+ {
+ "color": "red",
+ "value": 65280
+ }
+ ]
+ },
+ "unit": "Identities"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 8
+ },
+ "id": 284,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.0.2",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_identity{pod=~\"$pod\"}) by (type)",
+ "hide": false,
+ "legendFormat": "{{type}}",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_identity{pod=~\"$pod\"})",
+ "hide": false,
+ "legendFormat": "total",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Allocated Identities",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineStyle": {
+ "fill": "solid"
+ },
+ "lineWidth": 1,
+ "pointSize": 1,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 15
+ },
+ "id": 201,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, avg(rate(cilium_drop_count_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod, direction))",
+ "legendFormat": "{{pod}}:{{direction}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top Drop Rates",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 1,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 15
+ },
+ "id": 292,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(rate(cilium_forward_count_total{k8s_app=\"cilium\", direction=\"INGRESS\", pod=~\"$pod\"}[$__rate_interval])) by (pod))",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top Pod Ingress Packet Forward",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 52,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "L7 denied request"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#ea6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "L7 forwarded request"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7eb26d",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "denied"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 15
+ },
+ "id": 295,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_policy_l7_denied_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) ",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "denied",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_policy_l7_forwarded_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "forwarded",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "L7 Requests Forwarded",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "binBps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 5,
+ "x": 0,
+ "y": 23
+ },
+ "id": 111,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_forward_bytes_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by ( direction)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}} {{direction}}",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_forward_bytes_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))",
+ "hide": false,
+ "legendFormat": "Total",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Forwarded Traffic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "This tracks internal controller runs within Cilium. Controllers are asynchronous controllers that attempt to reconcile Cilium state. Failing runs could indicate a problem with the agent.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 60,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 5,
+ "x": 5,
+ "y": 23
+ },
+ "id": 298,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_controllers_runs_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (status)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{status}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Agent Controller Runs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 55,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 7,
+ "x": 10,
+ "y": 23
+ },
+ "id": 300,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(rate(cilium_kubernetes_events_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (scope, action))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{scope}} {{action}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Kubernetes Events Received/Consumed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 58,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 7,
+ "x": 17,
+ "y": 23
+ },
+ "id": 303,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(cilium_bpf_map_ops_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (outcome)",
+ "hide": false,
+ "legendFormat": "{{map_name}} {{outcome}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "BPF Map Operations",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 36,
+ "style": "dark",
+ "tags": [
+ "cilium-overview"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "cilium.*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ },
+ "hide": 0,
+ "label": "top k",
+ "name": "k",
+ "options": [
+ {
+ "selected": true,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "10",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Cilium / Overview",
+ "uid": "integrations_cilium_ent_overview",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/cilium-policy.json b/assets/cilium-enterprise/dashboards/cilium-policy.json
new file mode 100644
index 0000000..c03cb94
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/cilium-policy.json
@@ -0,0 +1,1751 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Cilium v1.12 (https://cilium.io/) Agent metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16611,
+ "graphTooltip": 1,
+ "id": 3,
+ "iteration": 1664184399070,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-agent"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Components",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#f2c96d",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "policy errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "policy import errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 85,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(cilium_policy{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (pod))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Policies",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#f2c96d",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "policy errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "policy import errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 5,
+ "x": 12,
+ "y": 0
+ },
+ "id": 227,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(rate(cilium_policy_import_errors_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "D"
+ }
+ ],
+ "title": "Policy Import Errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "policy errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 7,
+ "x": 17,
+ "y": 0
+ },
+ "id": 288,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(cilium_policy{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) / count(cilium_version)",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Cilium Policies",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#f2c96d",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "policy errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "policy import errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 250,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(rate(cilium_policy_regeneration_total[$__rate_interval])) by (pod))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Top Policy Regeneration Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#f2c96d",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "policy errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "policy import errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 251,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, quantile(0.95, rate(cilium_policy_regeneration_time_stats_seconds_sum{pod=~\"$pod\"}[$__rate_interval]) / rate(cilium_policy_regeneration_time_stats_seconds_count{pod=~\"$pod\"}[$__rate_interval])) by (pod))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{scope}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Top P95 Policy Regeneration Time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#f2c96d",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "policy errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "policy import errors"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#bf1b00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 254,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, avg(cilium_policy_max_revision{pod=~\"$pod\"}) by (pod))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Top Policy Revisions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 255,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "bottomk($k, avg(cilium_policy_max_revision{pod=~\"$pod\"}) by (pod))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Bottom Policy Revisions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "opm"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "average duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#d683ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614d93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#967302",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min duration"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min trigger"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#fceaca",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min trigger"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min trigger"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "folds"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 18
+ },
+ "id": 102,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.5-0100a6a",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(rate(cilium_triggers_policy_update_total[$__rate_interval])) by (pod))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Policy Trigger Runs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#64b0c8",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "count"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9ac48a",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#5195ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ed0e0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg count"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "opm"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max count"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "opm"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 237,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.95, rate(cilium_triggers_policy_update_call_duration_seconds_sum{k8s_app=\"cilium\", pod=~\"$pod\", type=\"latency\"}[$__rate_interval]) / rate(cilium_triggers_policy_update_call_duration_seconds_count{k8s_app=\"cilium\", pod=~\"$pod\", type=\"latency\"}[$__rate_interval]))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "p95",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.5, rate(cilium_triggers_policy_update_call_duration_seconds_sum{k8s_app=\"cilium\", pod=~\"$pod\", type=\"latency\"}[$__rate_interval]) / rate(cilium_triggers_policy_update_call_duration_seconds_count{k8s_app=\"cilium\", pod=~\"$pod\", type=\"latency\"}[$__rate_interval]))",
+ "hide": false,
+ "legendFormat": "p50",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "quantile(0.25, rate(cilium_triggers_policy_update_call_duration_seconds_sum{k8s_app=\"cilium\", pod=~\"$pod\", type=\"latency\"}[$__rate_interval]) / rate(cilium_triggers_policy_update_call_duration_seconds_count{k8s_app=\"cilium\", pod=~\"$pod\", type=\"latency\"}[$__rate_interval]))",
+ "hide": false,
+ "legendFormat": "p25",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "Policy Trigger Latency Quantiles (95, 50, 25)",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 36,
+ "style": "dark",
+ "tags": [
+ "cilium-agent"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "cilium.*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ },
+ "hide": 0,
+ "label": "top k",
+ "name": "k",
+ "options": [
+ {
+ "selected": true,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "10",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Cilium / Components / Policy",
+ "uid": "integrations_cilium_ent_policy",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/cilium-resource-utilization.json b/assets/cilium-enterprise/dashboards/cilium-resource-utilization.json
new file mode 100644
index 0000000..9c60e7a
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/cilium-resource-utilization.json
@@ -0,0 +1,1152 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Cilium v1.12 (https://cilium.io/) Agent metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16611,
+ "graphTooltip": 1,
+ "id": 3,
+ "iteration": 1664184399070,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-agent"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Components",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "AVG_virtual_memory_bytes"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Average Virtual Memory"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#f9d9f9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "MAX_virtual_memory_bytes"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e5ac0e",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max Virtual Memory"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max Virtual Memory"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "Min Virtual Memory"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Min Virtual Memory"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 0
+ },
+ "id": 26,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(cilium_process_virtual_memory_bytes{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (pod))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top Virtual Memory Bytes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "MAX_resident_memory_bytes_max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e5ac0e",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 0
+ },
+ "id": 24,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(cilium_process_resident_memory_bytes{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (pod))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "Resident memory status",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "all nodes"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e5a8e2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "id": 98,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(cilium_process_open_fds{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (pod))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top Open file descriptors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "BPF memory usage in the entire system including components not managed by Cilium.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "MAX_resident_memory_bytes_max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e5ac0e",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 7
+ },
+ "id": 178,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(cilium_bpf_maps_virtual_memory_max_bytes{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"} + cilium_bpf_progs_virtual_memory_max_bytes{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (pod))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "D"
+ }
+ ],
+ "title": "Top Total BPF Memory Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "BPF memory usage in the entire system including components not managed by Cilium.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "MAX_resident_memory_bytes_max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e5ac0e",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 7
+ },
+ "id": 245,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(cilium_bpf_maps_virtual_memory_max_bytes{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (pod))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "D"
+ }
+ ],
+ "title": "Top Total BPF Maps Memory Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "BPF memory usage in the entire system including components not managed by Cilium.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "MAX_resident_memory_bytes_max"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#e5ac0e",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 15
+ },
+ "id": 246,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk($k, sum(cilium_bpf_progs_virtual_memory_max_bytes{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}) by (pod))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{pod}}",
+ "range": true,
+ "refId": "D"
+ }
+ ],
+ "title": "Top Total BPF Program Memory Usage by Pod",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 35,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "cpu"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "avg"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#cffaff",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max"
+ },
+ "properties": [
+ {
+ "id": "custom.fillBelowTo",
+ "value": "min"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "min"
+ },
+ "properties": [
+ {
+ "id": "custom.lineWidth",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 15
+ },
+ "id": 96,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.1.3-e1f2f3c",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "topk($k, avg(rate(cilium_process_cpu_seconds_total{k8s_app=\"cilium\", cluster=~\"$cluster\", namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod))",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{pod }}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top Agent CPU Usage per Node",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 36,
+ "style": "dark",
+ "tags": [
+ "cilium-agent"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": "cilium.*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ },
+ "hide": 0,
+ "label": "top k",
+ "name": "k",
+ "options": [
+ {
+ "selected": true,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "10",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Cilium / Components / Resource Utilization",
+ "uid": "integrations_cilium_ent_res_util",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/hubble-overview.json b/assets/cilium-enterprise/dashboards/hubble-overview.json
new file mode 100644
index 0000000..979888a
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/hubble-overview.json
@@ -0,0 +1,3349 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for the Cilium v1.12 (https://cilium.io/) Hubble metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 16612,
+ "graphTooltip": 0,
+ "id": 126,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "hubble"
+ ],
+ "targetBlank": false,
+ "title": "Hubble",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 8,
+ "panels": [ ],
+ "title": "General Processing",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 1
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(sum(rate(hubble_flows_processed_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod))",
+ "legendFormat": "avg",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "min(sum(rate(hubble_flows_processed_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod))",
+ "hide": false,
+ "legendFormat": "min",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "max(sum(rate(hubble_flows_processed_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod))",
+ "hide": false,
+ "legendFormat": "max",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "Flows processed Per Node",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 1
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_flows_processed_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod, type)",
+ "legendFormat": "{{type}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Flows Types",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_flows_processed_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", type=\"L7\"}[$__rate_interval])) by (pod, subtype)",
+ "legendFormat": "{{subtype}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "L7 Flow Distribution",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_flows_processed_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", type=\"Trace\"}[$__rate_interval])) by (pod, subtype)",
+ "legendFormat": "{{subtype}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Trace Flow Distribution",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 11
+ },
+ "id": 10,
+ "panels": [ ],
+ "title": "Network",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_flows_processed_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod, verdict)",
+ "legendFormat": "{{verdict}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Forwarded vs Dropped",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 27,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_drop_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod, reason)",
+ "legendFormat": "{{reason}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Drop Reason",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "percent"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 17
+ },
+ "id": 26,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum (rate(hubble_port_distribution_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod, protocol)",
+ "legendFormat": "{{protocol}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Protocol Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 17
+ },
+ "id": 25,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk(10, sum (rate(hubble_port_distribution_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", port!=\"0\"}[$__rate_interval])) by (pod, port, protocol))",
+ "legendFormat": "{{port}}/{{protocol}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top 10 Port Distribution",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 22
+ },
+ "id": 24,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_tcp_flags_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", family=\"IPv4\"}[$__rate_interval])) by (pod, flag)",
+ "legendFormat": "{{flag}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "TCPv4",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 22
+ },
+ "id": 23,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_tcp_flags_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", family=\"IPv4\", flag=\"SYN\"}[$__rate_interval])) by (pod) - sum(rate(hubble_tcp_flags_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", family=\"IPv4\", flag=\"SYN-ACK\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "Missing SYN-ACK",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Missing TCPv4 SYN-ACKs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 27
+ },
+ "id": 22,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_tcp_flags_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", family=\"IPv6\"}[$__rate_interval])) by (pod, flag)",
+ "legendFormat": "{{type}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "TCPv6",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 27
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_tcp_flags_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", family=\"IPv6\", flag=\"SYN\"}[$__rate_interval])) by (pod) - sum(rate(hubble_tcp_flags_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", family=\"IPv6\", flag=\"SYN-ACK\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "{{verdict}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Missing TCPv6 SYN-ACKs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_icmp_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", family=\"IPv4\"}[$__rate_interval])) by (pod, type)",
+ "legendFormat": "{{type}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "ICMPv4",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 32
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_icmp_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", family=\"IPv4\", type=\"EchoRequest\"}[$__rate_interval])) by (pod) - sum(rate(hubble_icmp_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", family=\"IPv4\", type=\"EchoReply\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "Missing ICMP Echo-Reply",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Missing ICMPv4 Echo-Reply",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 37
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_icmp_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", family=\"IPv6\"}[$__rate_interval])) by (pod, type)",
+ "legendFormat": "{{type}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "ICMPv6",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 37
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_icmp_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", family=\"IPv6\", type=\"EchoRequest\"}[$__rate_interval])) by (pod) - sum(rate(hubble_icmp_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", family=\"IPv6\", type=\"EchoReply\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "{{verdict}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Missing ICMPv6 Echo-Reply",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 42
+ },
+ "id": 6,
+ "panels": [ ],
+ "title": "Network Policy",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 43
+ },
+ "id": 28,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_drop_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", reason=\"Policy denied\"}[$__rate_interval])) by (pod, reason)",
+ "legendFormat": "{{reason}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Denies by Reason",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 43
+ },
+ "id": 31,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_drop_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", reason=\"Policy denied\"}[$__rate_interval])) by (pod, protocol)",
+ "legendFormat": "{{protocol}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Denied Packets by Protocol",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 48
+ },
+ "id": 29,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk(10, sum(rate(hubble_drop_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", reason=\"Policy denied\"}[$__rate_interval])) by (pod, source))",
+ "legendFormat": "{{source}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top 10 Source Pods with Denied Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 48
+ },
+ "id": 30,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk(10, sum(rate(hubble_drop_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", reason=\"Policy denied\"}[$__rate_interval])) by (pod, destination))",
+ "legendFormat": "{{destination}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top 10 Destination Pods with Denied Packets",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 53
+ },
+ "id": 4,
+ "panels": [ ],
+ "title": "HTTP",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 54
+ },
+ "id": 32,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_http_requests_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod, method)",
+ "legendFormat": "{{method}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "HTTP Requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 54
+ },
+ "id": 36,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_http_responses_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod, status)",
+ "legendFormat": "{{status}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "HTTP responses",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 60
+ },
+ "id": 35,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.5, rate(hubble_http_request_duration_seconds_bucket{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval]))",
+ "legendFormat": "{{method}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "HTTP Request/Response Latency (p50)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 60
+ },
+ "id": 34,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.99, rate(hubble_http_request_duration_seconds_bucket{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval]))",
+ "legendFormat": "{{method}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "HTTP Request/Response Latency (p99)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "percent"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 66
+ },
+ "id": 33,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_http_requests_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod, protocol)",
+ "legendFormat": "{{protocol}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "HTTP Protocol Usage",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 72
+ },
+ "id": 2,
+ "panels": [ ],
+ "title": "DNS",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 0,
+ "y": 73
+ },
+ "id": 37,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_dns_queries_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod, qtypes)",
+ "legendFormat": "{{qtypes}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "DNS Requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 8,
+ "y": 73
+ },
+ "id": 38,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_dns_responses_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", rcode=\"No Error\"}[$__rate_interval])) by (pod, qtypes)",
+ "legendFormat": "{{qtypes}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "DNS responses",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 16,
+ "y": 73
+ },
+ "id": 39,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_dns_queries_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod, qtypes) - sum(rate(hubble_dns_responses_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod, qtypes)",
+ "legendFormat": "{{qtypes}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Missing DNS Responses",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 78
+ },
+ "id": 40,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_dns_response_types_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod, type)",
+ "legendFormat": "{{type}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "DNS Response Record Type",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 78
+ },
+ "id": 44,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_dns_responses_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", rcode=\"No Error\"}[$__rate_interval])) by (pod,ips_returned)",
+ "legendFormat": "{{ips_returned}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "DNS Response IPs Returned",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 83
+ },
+ "id": 43,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(hubble_dns_responses_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", rcode!=\"No Error\"}[$__rate_interval])) by (pod, qtypes, rcode)",
+ "legendFormat": "{{rcode}} ({{qtypes}})",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "DNS Errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 83
+ },
+ "id": 42,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk(10,sum(rate(hubble_dns_responses_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\", rcode!=\"No Error\"}[$__rate_interval])) by (pod, destination))",
+ "legendFormat": "{{destination}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Pods with DNS errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 88
+ },
+ "id": 41,
+ "options": {
+ "legend": {
+ "calcs": [
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "topk(10, sum(rate(hubble_dns_queries_total{service=\"hubble-metrics\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])*60) by (query, qtypes))",
+ "legendFormat": "{{query}} ({{qtypes}})",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Top 10 DNS Queries per minute",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 37,
+ "style": "dark",
+ "tags": [
+ "cilium-overview",
+ "hubble"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cilium_version{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Hubble / Overview",
+ "uid": "integrations_cilium_ent_hubble_overview",
+ "version": 1,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/dashboards/hubble-timescape.json b/assets/cilium-enterprise/dashboards/hubble-timescape.json
new file mode 100644
index 0000000..cad1549
--- /dev/null
+++ b/assets/cilium-enterprise/dashboards/hubble-timescape.json
@@ -0,0 +1,1162 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 125,
+ "links": [
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cilium-overview"
+ ],
+ "targetBlank": false,
+ "title": "Cilium Overviews",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ },
+ {
+ "asDropdown": true,
+ "icon": "external link",
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "hubble"
+ ],
+ "targetBlank": false,
+ "title": "Hubble",
+ "tooltip": "",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Instances"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 6,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "count(timescape_ingestor_ingest_running{pod=~\"$pod\", cluster=~\"$cluster\", namespace=~\"$namespace\"}) by (cluster)",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Timescape Ingestor Instances Running",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 4,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.95, sum(rate(timescape_clickhouse_queries_duration_seconds_bucket{pod=~\"$pod\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "legendFormat": "P95",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.75, sum(rate(timescape_clickhouse_queries_duration_seconds_bucket{pod=~\"$pod\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "hide": false,
+ "legendFormat": "P75",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.50, sum(rate(timescape_clickhouse_queries_duration_seconds_bucket{pod=~\"$pod\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "hide": false,
+ "legendFormat": "P50",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "Queries Duration Seconds Quantiles",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.95, sum(rate(timescape_ingestor_ingest_duration_seconds_bucket{pod=~\"$pod\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "legendFormat": "P95",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.75, sum(rate(timescape_ingestor_ingest_duration_seconds_bucket{pod=~\"$pod\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "hide": false,
+ "legendFormat": "P75",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.50, sum(rate(timescape_ingestor_ingest_duration_seconds_bucket{pod=~\"$pod\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "hide": false,
+ "legendFormat": "P50",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "Ingestor Ingest Duration Quantiles",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(timescape_ingestor_flows_ingested_total{pod=~\"$pod\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Flows Ingested",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(rate(timescape_clickhouse_queries_results_sum{pod=~\"$pod\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval]) / rate(timescape_clickhouse_queries_results_count{pod=~\"$pod\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval]))",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Avg Queries Results",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(timescape_ingestor_ingestfilter_filtered_errors_total{pod=~\"$pod\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Ingest filter Filtered Errors Total",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.95, sum(rate(timescape_ingestor_ingestfilter_batch_duration_seconds_bucket{pod=~\"$pod\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "legendFormat": "P95",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.75, sum(rate(timescape_ingestor_ingestfilter_batch_duration_seconds_bucket{pod=~\"$pod\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "hide": false,
+ "legendFormat": "P75",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(0.95, sum(rate(timescape_ingestor_ingestfilter_batch_duration_seconds_bucket{pod=~\"$pod\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (le))",
+ "hide": false,
+ "legendFormat": "P50",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "Ingest Filter Batch Duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(timescape_ingestor_ingestfilter_filtered_total{pod=~\"$pod\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Ingestor Ingest Filter Total",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(timescape_ingestor_ingestfilter_filtered_skipped_total{pod=~\"$pod\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Ingest Filter Skipped",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(timescape_ingestor_ingestlog_getinfo_queries{pod=~\"$pod\", cluster=~\"$cluster\", namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Ingestor GetInfo Queries",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": false,
+ "schemaVersion": 37,
+ "style": "dark",
+ "tags": [
+ "hubble"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(timescape_ingestor_ingest_running, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(timescape_ingestor_ingest_running, cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(timescape_ingestor_ingest_running{cluster=~\"$cluster\"}, namespace)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "namespace",
+ "options": [ ],
+ "query": {
+ "query": "label_values(timescape_ingestor_ingest_running{cluster=~\"$cluster\"}, namespace)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "definition": "label_values(timescape_ingestor_ingest_running{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "pod",
+ "options": [ ],
+ "query": {
+ "query": "label_values(timescape_ingestor_ingest_running{cluster=~\"$cluster\", namespace=~\"$namespace\"}, pod)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": { },
+ "timezone": "",
+ "title": "Hubble / Timescape",
+ "uid": "integrations_cilium_ent_hubble_timescape",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/cilium-enterprise/rules.yaml b/assets/cilium-enterprise/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/cilium-enterprise/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/clickhouse/alerts.yaml b/assets/clickhouse/alerts.yaml
new file mode 100644
index 0000000..a80e55f
--- /dev/null
+++ b/assets/clickhouse/alerts.yaml
@@ -0,0 +1,44 @@
+groups:
+- name: ClickHouseAlerts
+ rules:
+ - alert: ClickHouseReplicationQueueBackingUp
+ annotations:
+ description: |
+ ClickHouse replication tasks are processing slower than expected on {{ $labels.instance }} causing replication queue size to back up at {{ $value }} exceeding the threshold value of 99.
+ summary: ClickHouse replica max queue size backing up.
+ expr: |
+ ClickHouseAsyncMetrics_ReplicasMaxQueueSize > 99
+ for: 5m
+ keep_firing_for: 5m
+ labels:
+ severity: warning
+ - alert: ClickHouseRejectedInserts
+ annotations:
+ description: ClickHouse inserts are being rejected on {{ $labels.instance }}
+ as items are being inserted faster than ClickHouse is able to merge them.
+ summary: ClickHouse has too many rejected inserts.
+ expr: ClickHouseProfileEvents_RejectedInserts > 1
+ for: 5m
+ keep_firing_for: 5m
+ labels:
+ severity: critical
+ - alert: ClickHouseZookeeperSessions
+ annotations:
+ description: |
+ ClickHouse has more than one connection to a Zookeeper on {{ $labels.instance }} which can lead to bugs due to stale reads in Zookeepers consistency model.
+ summary: ClickHouse has too many Zookeeper sessions.
+ expr: ClickHouseMetrics_ZooKeeperSession > 1
+ for: 5m
+ keep_firing_for: 5m
+ labels:
+ severity: critical
+ - alert: ClickHouseReplicasInReadOnly
+ annotations:
+ description: |
+ ClickHouse has replicas in a read only state on {{ $labels.instance }} after losing connection to Zookeeper or at startup.
+ summary: ClickHouse has too many replicas in read only state.
+ expr: ClickHouseMetrics_ReadonlyReplica > 0
+ for: 5m
+ keep_firing_for: 5m
+ labels:
+ severity: critical
diff --git a/assets/clickhouse/dashboards/clickhouse-latency.json b/assets/clickhouse/dashboards/clickhouse-latency.json
new file mode 100644
index 0000000..51cf00b
--- /dev/null
+++ b/assets/clickhouse/dashboards/clickhouse-latency.json
@@ -0,0 +1,616 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 1,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "clickhouse-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other ClickHouse dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Time spent waiting for read syscall",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "µs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "builder",
+ "expr": "increase(ClickHouseProfileEvents_DiskReadElapsedMicroseconds{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ instance }} - disk read elapsed",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Disk read latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Time spent waiting for write syscall",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "µs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "builder",
+ "expr": "increase(ClickHouseProfileEvents_DiskWriteElapsedMicroseconds{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ instance }} - disk write elapsed",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Disk write latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Latency of inbound network traffic",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "µs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "builder",
+ "expr": "increase(ClickHouseProfileEvents_NetworkReceiveElapsedMicroseconds{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ instance }} - network receive elapsed",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Network receive latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Latency of outbound network traffic",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "µs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "builder",
+ "expr": "increase(ClickHouseProfileEvents_NetworkSendElapsedMicroseconds{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ instance }} - network send elapsed",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Network transmit latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Time spent waiting for ZooKeeper request to process",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "µs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "builder",
+ "expr": "increase(ClickHouseProfileEvents_ZooKeeperWaitMicroseconds{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ instance }} - ZooKeeper wait",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "ZooKeeper wait time",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "clickhouse-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "text": "",
+ "value": ""
+ },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(ClickHouseProfileEvents_DiskReadElapsedMicroseconds,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {
+ "text": "",
+ "value": ""
+ },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "instance",
+ "multi": false,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(ClickHouseProfileEvents_DiskReadElapsedMicroseconds{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(ClickHouseProfileEvents_DiskReadElapsedMicroseconds{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "ClickHouse latency",
+ "uid": "clickhouse-latency",
+ "version": 0
+}
diff --git a/assets/clickhouse/dashboards/clickhouse-logs.json b/assets/clickhouse/dashboards/clickhouse-logs.json
new file mode 100644
index 0000000..273e1d5
--- /dev/null
+++ b/assets/clickhouse/dashboards/clickhouse-logs.json
@@ -0,0 +1,295 @@
+{
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "clickhouse-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other ClickHouse dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Logs volume grouped by \"level\" label.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "drawStyle": "bars",
+ "fillOpacity": 50,
+ "stacking": {
+ "mode": "normal"
+ }
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)merg|(F|f)atal|(A|a)lert|(C|c)rit.*"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)(rr.*|RR.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(W|w)(arn.*|ARN.*|rn|RN)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(N|n)(otice|ote)|(I|i)(nf.*|NF.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "dbg.*|DBG.*|(D|d)(EBUG|ebug)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(T|t)(race|RACE)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "logs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24
+ },
+ "id": 1,
+ "interval": "30s",
+ "options": {
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "sum by (level) (count_over_time({job=~\".*/clickhouse.*\",job=~\"$job\",instance=~\"$instance\",level=~\"$level\"}\n|~ \"$regex_search\"\n\n[$__interval]))\n",
+ "legendFormat": "{{ level }}"
+ }
+ ],
+ "title": "Logs volume",
+ "transformations": [
+ {
+ "id": "renameByRegex",
+ "options": {
+ "regex": "Value",
+ "renamePattern": "logs"
+ }
+ }
+ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "gridPos": {
+ "h": 18,
+ "w": 24
+ },
+ "id": 2,
+ "options": {
+ "dedupStrategy": "exact",
+ "enableLogDetails": true,
+ "prettifyLogMessage": true,
+ "showTime": false,
+ "wrapLogMessage": true
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "{job=~\".*/clickhouse.*\",job=~\"$job\",instance=~\"$instance\",level=~\"$level\"} \n|~ \"$regex_search\"\n\n\n"
+ }
+ ],
+ "title": "Logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "clickhouse-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values({job=~\".*/clickhouse.*\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values({job=~\".*/clickhouse.*\",job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Level",
+ "multi": true,
+ "name": "level",
+ "query": "label_values({job=~\".*/clickhouse.*\",job=~\"$job\",instance=~\"$instance\"}, level)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "",
+ "value": ""
+ },
+ "label": "Regex search",
+ "name": "regex_search",
+ "options": [
+ {
+ "selected": true,
+ "text": "",
+ "value": ""
+ }
+ ],
+ "query": "",
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timezone": "utc",
+ "title": "ClickHouse logs",
+ "uid": "clickhouse-logs-overview"
+}
diff --git a/assets/clickhouse/dashboards/clickhouse-overview.json b/assets/clickhouse/dashboards/clickhouse-overview.json
new file mode 100644
index 0000000..ebbe48c
--- /dev/null
+++ b/assets/clickhouse/dashboards/clickhouse-overview.json
@@ -0,0 +1,932 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 1,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "clickhouse-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other ClickHouse dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of successful queries per second",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "/ sec"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "builder",
+ "expr": "rate(ClickHouseProfileEvents_SelectQuery{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "hide": false,
+ "legendFormat": "{{ instance }} - select query",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "builder",
+ "expr": "rate(ClickHouseProfileEvents_InsertQuery{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "hide": false,
+ "legendFormat": "{{ instance }} - insert query",
+ "range": true,
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "builder",
+ "expr": "rate(ClickHouseProfileEvents_AsyncInsertQuery{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "hide": false,
+ "legendFormat": "{{ instance }} - async insert query",
+ "range": true,
+ "refId": "D"
+ }
+ ],
+ "title": "Successful queries",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of failed queries per second",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "/ sec"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "builder",
+ "expr": "rate(ClickHouseProfileEvents_FailedSelectQuery{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "hide": false,
+ "legendFormat": "{{ instance }} - failed select query",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "builder",
+ "expr": "rate(ClickHouseProfileEvents_FailedInsertQuery{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "hide": false,
+ "legendFormat": "{{ instance }} - failed insert query",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "Failed queries",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of rejected inserts per second",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "/ sec"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "builder",
+ "expr": "rate(ClickHouseProfileEvents_RejectedInserts{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ instance }} - rejected inserts",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Rejected inserts",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Memory usage over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "builder",
+ "expr": "ClickHouseMetrics_MemoryTracking{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "{{ instance }} - memory tracking",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Percentage of memory allocated by ClickHouse compared to OS total",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 80
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 6,
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": true,
+ "showThresholdMarkers": true,
+ "text": { }
+ },
+ "pluginVersion": "9.1.6",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "(ClickHouseMetrics_MemoryTracking{job=~\"$job\", instance=~\"$instance\"} / ClickHouseAsyncMetrics_OSMemoryTotal{job=~\"$job\", instance=~\"$instance\"}) * 100",
+ "hide": false,
+ "legendFormat": "{{ instance }} - memory usage",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Memory usage",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current number of connections to ClickHouse",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisGridShow": true,
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "builder",
+ "expr": "ClickHouseMetrics_TCPConnection{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "{{ instance }} - TCP connection",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "builder",
+ "expr": "ClickHouseMetrics_HTTPConnection{job=~\"$job\", instance=~\"$instance\"}",
+ "hide": false,
+ "legendFormat": "{{ instance }} - HTTP connection",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "builder",
+ "expr": "ClickHouseMetrics_MySQLConnection{job=~\"$job\", instance=~\"$instance\"}",
+ "hide": false,
+ "legendFormat": "{{ instance }} - MySQL connection",
+ "range": true,
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "builder",
+ "expr": "ClickHouseMetrics_PostgreSQLConnection{job=~\"$job\", instance=~\"$instance\"}",
+ "hide": false,
+ "legendFormat": "{{ instance }} - PostgreSQL connection",
+ "range": true,
+ "refId": "D"
+ }
+ ],
+ "title": "Active connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Received network throughput",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "builder",
+ "expr": "rate(ClickHouseProfileEvents_NetworkReceiveBytes{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ instance }} - network receive bytes",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Network received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Transmitted network throughput",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 32
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "builder",
+ "expr": "rate(ClickHouseProfileEvents_NetworkSendBytes{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ instance }} - network send bytes",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Network transmitted",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "clickhouse-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "hide": 0,
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "text": "",
+ "value": ""
+ },
+ "datasource": "$prometheus_datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(ClickHouseProfileEvents_DiskReadElapsedMicroseconds,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {
+ "text": "",
+ "value": ""
+ },
+ "datasource": "$prometheus_datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "instance",
+ "multi": false,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(ClickHouseProfileEvents_Query{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(ClickHouseProfileEvents_Query{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "ClickHouse overview",
+ "uid": "clickhouse-overview",
+ "version": 0
+}
diff --git a/assets/clickhouse/dashboards/clickhouse-replica.json b/assets/clickhouse/dashboards/clickhouse-replica.json
new file mode 100644
index 0000000..eba9139
--- /dev/null
+++ b/assets/clickhouse/dashboards/clickhouse-replica.json
@@ -0,0 +1,827 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 1,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "clickhouse-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other ClickHouse dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of connections due to interserver communication",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "ClickHouseMetrics_InterserverConnection{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "{{ instance }} - interserver connections",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Interserver connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of replica tasks in queue",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "ClickHouseAsyncMetrics_ReplicasMaxQueueSize{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "{{ instance }} - max queue size",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Replica queue size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Replica Operations over time to other nodes",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "/ sec"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "rate(ClickHouseProfileEvents_ReplicatedPartFetches{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ instance }} - part fetches",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "rate(ClickHouseProfileEvents_ReplicatedPartMerges{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "hide": false,
+ "legendFormat": "{{ instance }} - part merges",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "rate(ClickHouseProfileEvents_ReplicatedPartMutations{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "hide": false,
+ "legendFormat": "{{ instance }} - part mutations",
+ "range": true,
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "rate(ClickHouseProfileEvents_ReplicatedPartChecks{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "hide": false,
+ "legendFormat": "{{ instance }} - part checks",
+ "range": true,
+ "refId": "D"
+ }
+ ],
+ "title": "Replica operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Shows replicas in read-only state over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "ClickHouseMetrics_ReadonlyReplica{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "{{ instance }} - read only",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Replica read only",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current number of watches in ZooKeeper",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "ClickHouseMetrics_ZooKeeperWatch{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "{{ instance }} - ZooKeeper watch",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Zookeeper watches",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current number of sessions to ZooKeeper",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "ClickHouseMetrics_ZooKeeperSession{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "{{ instance }} - ZooKeeper session",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Zookeeper sessions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current number of active requests to ZooKeeper",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "ClickHouseMetrics_ZooKeeperRequest{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "{{ instance }} - ZooKeeper request",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Zookeeper requests",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "clickhouse-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "text": "",
+ "value": ""
+ },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(ClickHouseMetrics_InterserverConnection,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {
+ "text": "",
+ "value": ""
+ },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "instance",
+ "multi": false,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(ClickHouseMetrics_InterserverConnection{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(ClickHouseMetrics_InterserverConnection{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "ClickHouse replica",
+ "uid": "clickhouse-replica",
+ "version": 0
+}
diff --git a/assets/clickhouse/rules.yaml b/assets/clickhouse/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/clickhouse/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/cloudflare/alerts.yaml b/assets/cloudflare/alerts.yaml
new file mode 100644
index 0000000..77bd01d
--- /dev/null
+++ b/assets/cloudflare/alerts.yaml
@@ -0,0 +1,55 @@
+groups:
+- name: cloudflare-alerts
+ rules:
+ - alert: CloudflareHighThreatCount
+ annotations:
+ description: The number of detected threats targeting the zone {{$labels.zone}}
+ is {{ printf "%.0f" $value }} which is greater than the threshold of 3.
+ summary: There are detected threats targeting the zone.
+ expr: |
+ sum without (instance) (increase(cloudflare_zone_threats_total[5m])) > 3
+ for: 5m
+ labels:
+ severity: critical
+ - alert: CloudflareHighRequestRate
+ annotations:
+ description: The rate of requests to {{$labels.zone}} is {{ printf "%.0f" $value
+ }}% of the prior 50 minute baseline which is above the threshold of 150%.
+ summary: A high spike in requests is occurring which may indicate an attack
+ or unexpected load.
+ expr: |
+ sum without (instance) (100 * (rate(cloudflare_zone_requests_total[10m]) / clamp_min(rate(cloudflare_zone_requests_total[50m] offset 10m), 1))) > 150
+ for: 5m
+ labels:
+ severity: warning
+ - alert: CloudflareHighHTTPErrorCodes
+ annotations:
+ description: The number of {{$labels.status}} HTTP status codes occurring in
+ the zone {{$labels.zone}} is {{ printf "%.0f" $value }} which is greater than
+ the threshold of 100.
+ summary: A high number of 4xx or 5xx HTTP status codes are occurring.
+ expr: |
+ sum without (instance) (increase(cloudflare_zone_requests_status{status=~"4.*|5.*"}[5m])) > 100
+ for: 5m
+ labels:
+ severity: warning
+ - alert: CloudflareUnhealthyPools
+ annotations:
+ description: The pool {{$labels.pool_name}} in zone {{$labels.zone}} is currently
+ down and unhealthy.
+ summary: There are unhealthy pools.
+ expr: |
+ sum without (instance, load_balancer_name) (cloudflare_zone_pool_health_status) == 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: CloudflareMetricsDown
+ annotations:
+ description: Grafana is no longer receiving metrics for the Cloudflare integration
+ from instance {{$labels.instance}}.
+ summary: Cloudflare metrics are down.
+ expr: |
+ up{job="integrations/cloudflare"} == 0
+ for: 5m
+ labels:
+ severity: critical
diff --git a/assets/cloudflare/dashboards/cloudflare-geomap-overview.json b/assets/cloudflare/dashboards/cloudflare-geomap-overview.json
new file mode 100644
index 0000000..09e1c37
--- /dev/null
+++ b/assets/cloudflare/dashboards/cloudflare-geomap-overview.json
@@ -0,0 +1,470 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cloudflare-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Cloudflare dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Dashboard --"
+ },
+ "description": "Table currently showing $geo_metric for the zone.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Total|Mean|Last/"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "basic",
+ "type": "gauge",
+ "valueDisplayMode": "text"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlPu"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "Total"
+ }
+ ]
+ },
+ "pluginVersion": "10.2.0-62263",
+ "targets": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Dashboard --"
+ },
+ "panelId": 3,
+ "refId": "A",
+ "withTransforms": true
+ }
+ ],
+ "title": "$geo_metric by country",
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Geomap panel currently showing $geo_metric for the zone.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlPu"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 24,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 3,
+ "options": {
+ "basemap": {
+ "config": { },
+ "name": "Layer 0",
+ "type": "default"
+ },
+ "controls": {
+ "mouseWheelZoom": true,
+ "showAttribution": true,
+ "showDebug": false,
+ "showMeasure": false,
+ "showScale": false,
+ "showZoom": true
+ },
+ "layers": [
+ {
+ "config": {
+ "showLegend": true,
+ "style": {
+ "color": {
+ "field": "Total",
+ "fixed": "dark-green"
+ },
+ "opacity": 0.40000000000000002,
+ "rotation": {
+ "fixed": 0,
+ "max": 360,
+ "min": -360,
+ "mode": "mod"
+ },
+ "size": {
+ "field": "Total",
+ "fixed": 5,
+ "max": 15,
+ "min": 7
+ },
+ "symbol": {
+ "fixed": "img/icons/marker/circle.svg",
+ "mode": "fixed"
+ },
+ "symbolAlign": {
+ "horizontal": "center",
+ "vertical": "center"
+ },
+ "textConfig": {
+ "fontSize": 12,
+ "offsetX": 0,
+ "offsetY": 0,
+ "textAlign": "center",
+ "textBaseline": "middle"
+ }
+ }
+ },
+ "location": {
+ "gazetteer": "public/gazetteer/countries.json",
+ "lookup": "country",
+ "mode": "lookup"
+ },
+ "name": "Total",
+ "tooltip": true,
+ "type": "markers"
+ }
+ ],
+ "tooltip": {
+ "mode": "multi"
+ },
+ "view": {
+ "allLayers": true,
+ "id": "zero",
+ "lat": 0,
+ "lon": 0,
+ "zoom": 1
+ }
+ },
+ "pluginVersion": "10.2.0-62263",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase($geo_metric{job=~\"$job\", instance=~\"$instance\", zone=~\"$zone\"}[$__interval:] offset -$__interval)",
+ "format": "table",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "$geo_metric by country",
+ "transformations": [
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "Value": {
+ "aggregations": [
+ "sum",
+ "mean",
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "country": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "host": {
+ "aggregations": [ ]
+ },
+ "instance": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "job": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "region": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "status": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "zone": {
+ "aggregations": [ ]
+ }
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": { },
+ "indexByName": { },
+ "renameByName": {
+ "Value (lastNotNull)": "Last",
+ "Value (mean)": "Mean",
+ "Value (sum)": "Total",
+ "country": "Country",
+ "instance": "Instance",
+ "job": "Job",
+ "region": "Region",
+ "status": "Status",
+ "zone": "Zone"
+ }
+ }
+ }
+ ],
+ "type": "geomap"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "cloudflare-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Job",
+ "multi": false,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(cloudflare_zone_requests_total,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(cloudflare_zone_requests_total{job=\"$job\"},instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Zone",
+ "multi": true,
+ "name": "zone",
+ "options": [ ],
+ "query": "label_values(cloudflare_zone_requests_total{job=~\"$job\", instance=~\"$instance\"},zone)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": {
+ "text": "cloudflare_zone_requests_country",
+ "value": "cloudflare_zone_requests_country"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Geomap metric",
+ "multi": false,
+ "name": "geo_metric",
+ "options": [
+ {
+ "text": "cloudflare_zone_requests_country",
+ "value": "cloudflare_zone_requests_country"
+ },
+ {
+ "text": "cloudflare_zone_bandwidth_country",
+ "value": "cloudflare_zone_bandwidth_country"
+ },
+ {
+ "text": "cloudflare_zone_threats_country",
+ "value": "cloudflare_zone_threats_country"
+ }
+ ],
+ "query": "cloudflare_zone_requests_country,cloudflare_zone_bandwidth_country,cloudflare_zone_threats_country",
+ "refresh": 0,
+ "type": "custom"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Cloudflare Geomap overview",
+ "uid": "cloudflare-geomap-overview",
+ "version": 0
+}
diff --git a/assets/cloudflare/dashboards/cloudflare-worker-overview.json b/assets/cloudflare/dashboards/cloudflare-worker-overview.json
new file mode 100644
index 0000000..0e222c1
--- /dev/null
+++ b/assets/cloudflare/dashboards/cloudflare-worker-overview.json
@@ -0,0 +1,508 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cloudflare-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Cloudflare dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The P50, P75, P99, P999 quantiles for worker CPU time.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "cloudflare_worker_cpu_time{job=~\"$job\", instance=~\"$instance\", script_name=~\"$script_name\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{script_name}} - {{quantile}}"
+ }
+ ],
+ "title": "Worker CPU time quantiles",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The P50, P75, P99, P999 quantiles for worker duration.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 8
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "cloudflare_worker_duration{job=~\"$job\", instance=~\"$instance\", script_name=~\"$script_name\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{script_name}} - {{quantile}}"
+ }
+ ],
+ "title": "Worker duration quantiles",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of worker requests.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(cloudflare_worker_requests_count{job=~\"$job\", instance=~\"$instance\", script_name=~\"$script_name\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{script_name}}"
+ }
+ ],
+ "title": "Worker requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of worker errors.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(cloudflare_worker_errors_count{job=~\"$job\", instance=~\"$instance\", script_name=~\"$script_name\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{script_name}}"
+ }
+ ],
+ "title": "Worker errors / $__interval",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "cloudflare-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(cloudflare_zone_requests_total,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(cloudflare_zone_requests_total{job=~\"$job\"},instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Script",
+ "multi": true,
+ "name": "script_name",
+ "options": [ ],
+ "query": "label_values(cloudflare_worker_requests_count{job=~\"$job\", instance=~\"$instance\"},script_name)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Cloudflare worker overview",
+ "uid": "cloudflare-worker-overview",
+ "version": 0
+}
diff --git a/assets/cloudflare/dashboards/cloudflare-zone-overview.json b/assets/cloudflare/dashboards/cloudflare-zone-overview.json
new file mode 100644
index 0000000..e4d1bf5
--- /dev/null
+++ b/assets/cloudflare/dashboards/cloudflare-zone-overview.json
@@ -0,0 +1,1303 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "cloudflare-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Cloudflare dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "alertInstanceLabelFilter": "{job=~\"${job:regex}\", instance=~\"${instance:regex}\"}",
+ "alertName": "",
+ "dashboardAlerts": false,
+ "groupBy": [ ],
+ "groupMode": "default",
+ "maxItems": 5,
+ "sortOrder": 1,
+ "stateFilter": {
+ "error": true,
+ "firing": true,
+ "noData": true,
+ "normal": true,
+ "pending": true
+ },
+ "viewMode": "list"
+ },
+ "targets": [ ],
+ "title": "Alerts",
+ "type": "alertlist"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "A table view of the pools in your zone showing their health and rate of requests.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "left",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [
+ {
+ "options": {
+ "Health=1": {
+ "index": 0,
+ "text": "Healthy"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Health"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Unhealthy"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Healthy"
+ }
+ },
+ "type": "value"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "frameIndex": 0,
+ "showHeader": true,
+ "sortBy": [ ]
+ },
+ "pluginVersion": "10.2.0-61719",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "cloudflare_zone_pool_health_status{job=~\"$job\", instance=~\"$instance\", zone=~\"$zone\"}",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(cloudflare_zone_pool_requests_total{job=~\"$job\", instance=~\"$instance\", zone=~\"$zone\"}[$__rate_interval])",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Pool status",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "pool_name",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "filterFieldsByName",
+ "options": {
+ "include": {
+ "names": [
+ "pool_name",
+ "Value #A",
+ "load_balancer_name 2",
+ "origin_name",
+ "Value #B",
+ "zone 2"
+ ]
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": { },
+ "indexByName": {
+ "Value #A": 5,
+ "Value #B": 4,
+ "load_balancer_name 2": 1,
+ "origin_name": 2,
+ "pool_name": 0,
+ "zone 2": 3
+ },
+ "renameByName": {
+ "Value #A": "Health",
+ "Value #B": "Requests",
+ "load_balancer_name 2": "Load balancer",
+ "origin_name": "Origin",
+ "pool_name": "Pool",
+ "zone 2": "Zone"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate at which requests to the zone occur.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(cloudflare_zone_requests_total{job=~\"$job\", instance=~\"$instance\", zone=~\"$zone\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{zone}}"
+ }
+ ],
+ "title": "Request rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The percentage of requests to the zone that are cached.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "area"
+ }
+ },
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 50
+ },
+ {
+ "color": "green",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(cloudflare_zone_requests_cached{job=~\"$job\", instance=~\"$instance\", zone=~\"$zone\"}[$__interval:]) / increase(cloudflare_zone_requests_total{job=~\"$job\", instance=~\"$instance\", zone=~\"$zone\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{zone}}"
+ }
+ ],
+ "title": "Cached requests / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of threats that have targeted the zone.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(cloudflare_zone_threats_total{job=~\"$job\", instance=~\"$instance\", zone=~\"$zone\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{zone}}"
+ }
+ ],
+ "title": "Threats / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate at which all bandwidth in the zone occurs.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(cloudflare_zone_bandwidth_total{job=~\"$job\", instance=~\"$instance\", zone=~\"$zone\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{zone}}"
+ }
+ ],
+ "title": "Bandwidth rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of cached and encrypted bandwidth that occurs in the zone.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(cloudflare_zone_bandwidth_ssl_encrypted{job=~\"$job\", instance=~\"$instance\", zone=~\"$zone\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{zone}} - encrypted"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(cloudflare_zone_bandwidth_cached{job=~\"$job\", instance=~\"$instance\", zone=~\"$zone\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{zone}} - cached"
+ }
+ ],
+ "title": "Bandwidth type / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The content types that bandwidth is being used for in the zone.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(cloudflare_zone_bandwidth_content_type{job=~\"$job\", instance=~\"$instance\", zone=~\"$zone\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{zone}} - {{content_type}}"
+ }
+ ],
+ "title": "Bandwidth content type / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of zone views by browser family.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(cloudflare_zone_requests_browser_map_page_views_count{job=~\"$job\", instance=~\"$instance\", zone=~\"$zone\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{zone}} - {{family}}"
+ }
+ ],
+ "title": "Browser page views / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of unique and total page views.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 32
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(cloudflare_zone_uniques_total{job=~\"$job\", instance=~\"$instance\", zone=~\"$zone\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{zone}} - unique"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(cloudflare_zone_pageviews_total{job=~\"$job\", instance=~\"$instance\", zone=~\"$zone\"}[$__interval:]) - increase(cloudflare_zone_uniques_total{job=~\"$job\", instance=~\"$instance\", zone=~\"$zone\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{zone}} - non-unique"
+ }
+ ],
+ "title": "Unique page views / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of different HTTP status codes used for requests in the zone.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 40
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(cloudflare_zone_requests_status{job=~\"$job\", instance=~\"$instance\", zone=~\"$zone\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{zone}} - {{status}}"
+ }
+ ],
+ "title": "Request HTTP status / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The different colocations being used by the zone and their request rates.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "left",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 48
+ },
+ "id": 13,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.0-61719",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(cloudflare_zone_colocation_requests_total{job=~\"$job\", instance=~\"$instance\", zone=~\"$zone\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Colocation requests",
+ "transformations": [
+ {
+ "id": "reduce",
+ "options": {
+ "reducers": [
+ "lastNotNull"
+ ]
+ }
+ },
+ {
+ "id": "extractFields",
+ "options": {
+ "format": "auto",
+ "source": "Field"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Field": true,
+ "host": true,
+ "instance": true,
+ "job": true
+ },
+ "indexByName": {
+ "Field": 3,
+ "Last *": 2,
+ "colocation": 1,
+ "host": 4,
+ "instance": 5,
+ "job": 6,
+ "zone": 0
+ },
+ "renameByName": {
+ "Last *": "Requests",
+ "colocation": "Colocation",
+ "zone": "Zone"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "cloudflare-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(cloudflare_zone_requests_total,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(cloudflare_zone_requests_total{job=~\"$job\"},instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Zone",
+ "multi": true,
+ "name": "zone",
+ "options": [ ],
+ "query": "label_values(cloudflare_zone_requests_total{job=~\"$job\", instance=~\"$instance\"},zone)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Cloudflare zone overview",
+ "uid": "cloudflare-zone-overview",
+ "version": 0
+}
diff --git a/assets/cloudflare/rules.yaml b/assets/cloudflare/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/cloudflare/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/confluent-kafka/alerts.yaml b/assets/confluent-kafka/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/confluent-kafka/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/confluent-kafka/dashboards/confluent-kafka-overview.json b/assets/confluent-kafka/dashboards/confluent-kafka-overview.json
new file mode 100644
index 0000000..fe5311c
--- /dev/null
+++ b/assets/confluent-kafka/dashboards/confluent-kafka-overview.json
@@ -0,0 +1,2025 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 8,
+ "iteration": 1644350829423,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 21,
+ "panels": [ ],
+ "title": "Global",
+ "type": "row"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Per-second average rate of ingress of data to topics, basic cluster has a max of 100MBps.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 100000000,
+ "min": 0,
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 80
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 0,
+ "y": 1
+ },
+ "id": 17,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "sum(sum_over_time(confluent_kafka_server_received_bytes{scrape_job=~\"$job\",kafka_id=~\"$cluster\",topic=~\"$topic\"}[$__rate_interval])/count_over_time(confluent_kafka_server_received_bytes{scrape_job=~\"$job\",kafka_id=~\"$cluster\",topic=~\"$topic\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Write on topics (rate)",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Per-second average rate of egress data to topics, basic cluster has a max of 100MBps.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 100000000,
+ "min": 0,
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 80
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 3,
+ "y": 1
+ },
+ "id": 18,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "sum(sum_over_time(confluent_kafka_server_sent_bytes{scrape_job=~\"$job\",kafka_id=~\"$cluster\",topic=~\"$topic\"}[$__rate_interval])/count_over_time(confluent_kafka_server_sent_bytes{scrape_job=~\"$job\",kafka_id=~\"$cluster\",topic=~\"$topic\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Read of topics (rate)",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Per-second average rate of requests, basic cluster maxes out at 1500 requests per second.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 1500,
+ "min": 0,
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 80
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 6,
+ "y": 1
+ },
+ "id": 10,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "sum(sum_over_time(confluent_kafka_server_request_count{scrape_job=~\"$job\",kafka_id=~\"$cluster\",principal=~\"$principal_id\"}[$__rate_interval])/count_over_time(confluent_kafka_server_request_count{scrape_job=~\"$job\",kafka_id=~\"$cluster\",principal=~\"$principal_id\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Requests (rate)",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "The percentage of records being written vs messages being read from the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ },
+ {
+ "color": "orange",
+ "value": 85
+ },
+ {
+ "color": "yellow",
+ "value": 90
+ },
+ {
+ "color": "green",
+ "value": 95
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 9,
+ "y": 1
+ },
+ "id": 23,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "avg((sum_over_time(confluent_kafka_server_received_records{scrape_job=~\"$job\",kafka_id=~\"$cluster\",topic=~\"$topic\"}[$__rate_interval])/count_over_time(confluent_kafka_server_received_records{scrape_job=~\"$job\",kafka_id=~\"$cluster\",topic=~\"$topic\"}[$__rate_interval]))/(sum_over_time(confluent_kafka_server_sent_records{scrape_job=~\"$job\",kafka_id=~\"$cluster\",topic=~\"$topic\"}[$__rate_interval])/count_over_time(confluent_kafka_server_sent_records{scrape_job=~\"$job\",kafka_id=~\"$cluster\",topic=~\"$topic\"}[$__rate_interval])))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Write/Read Records Percentage",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Basic clusters have a max retained bytes limit of 5 TB prior to replication. confluent_kafka_server_retained_bytes is after replication thus needs to be divided by 3.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 5000000000000,
+ "min": 0,
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 80
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 12,
+ "y": 1
+ },
+ "id": 12,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "sum(confluent_kafka_server_retained_bytes{scrape_job=~\"$job\",kafka_id=~\"$cluster\",topic=~\"$topic\"})/3",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Retained bytes",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "The sum of partitions in a cluster. Basic cluster max partitions limit is 2048.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 2048,
+ "min": 0,
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 80
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 15,
+ "y": 1
+ },
+ "id": 19,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "sum(confluent_kafka_server_partition_count{scrape_job=~\"$job\",kafka_id=~\"$cluster\"})",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Partition count ",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Basic clusters have a limit on the number of partitions that can be created and deleted in a 5 minute period. This single stat provides the absolute difference between the number of partitions are the beginning and end of the 5 minute period. This over simplifies the problem, so more conservative thresholds are put in place.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "max": 250,
+ "min": 0,
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 50
+ },
+ {
+ "color": "red",
+ "value": 60
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 18,
+ "y": 1
+ },
+ "id": 8,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "sum(abs(idelta(confluent_kafka_server_partition_count{scrape_job=~\"$job\",kafka_id=~\"$cluster\"}[$__rate_interval])))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Partition count change (delta)",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "The number of active connections to a cluster. Basic clusters limit active connections to 1000.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "displayName": "",
+ "mappings": [ ],
+ "max": 1000,
+ "min": 0,
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 80
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 21,
+ "y": 1
+ },
+ "id": 22,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "sum(confluent_kafka_server_active_connection_count{scrape_job=~\"$job\",kafka_id=~\"$cluster\",principal=~\"$principal_id\"})",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Active connections",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 6
+ },
+ "id": 16,
+ "panels": [ ],
+ "title": "Topics",
+ "type": "row"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "The current count of bytes retained by the cluster, summed across all partitions. The count is sampled every 60 seconds.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "sum by (kafka_id, topic) (confluent_kafka_server_retained_bytes{scrape_job=~\"$job\",kafka_id=~\"$cluster\",topic=~\"$topic\"})",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "{{kafka_id}} - {{topic}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Topic retained bytes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "The delta count of bytes received from the network. Each sample is the number of bytes received since the previous data sample. The count is sampled every 60 seconds.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum by (topic, kafka_id) (confluent_kafka_server_received_bytes{scrape_job=~\"$job\",kafka_id=~\"$cluster\",topic=~\"$topic\"})",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "{{topic}} - {{kafka_id}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Topic received bytes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "The delta count of bytes sent over the network. Each sample is the number of bytes sent since the previous data point. The count is sampled every 60 seconds.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "sum by (topic, kafka_id) (confluent_kafka_server_sent_bytes{scrape_job=~\"$job\",kafka_id=~\"$cluster\",topic=~\"$topic\"})",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "{{topic}} - {{kafka_id}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Topic Sent bytes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "The delta count of records received. Each sample is the number of records received since the previous data sample. The count is sampled every 60 seconds.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 22
+ },
+ "id": 31,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum by (topic, kafka_id) (confluent_kafka_server_received_records{scrape_job=~\"$job\",kafka_id=~\"$cluster\",topic=~\"$topic\"})",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "{{topic}} - {{kafka_id}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Topic received record",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "The delta count of records sent. Each sample is the number of records sent since the previous data point. The count is sampled every 60 seconds.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 22
+ },
+ "id": 30,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "sum by (topic, kafka_id) (confluent_kafka_server_sent_records{scrape_job=~\"$job\",kafka_id=~\"$cluster\",topic=~\"$topic\"})",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "{{topic}} - {{kafka_id}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Topic sent records",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "The delta count of requests received over the network. Each sample is the number of requests received since the previous data point. The count sampled every 60 seconds.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "id": 29,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "sum by (kafka_id) (confluent_kafka_server_request_count{scrape_job=~\"$job\",kafka_id=~\"$cluster\",principal=~\"$principal_id\"})",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "{{kafka_id}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Request rate",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 36
+ },
+ "id": 33,
+ "panels": [ ],
+ "title": "Connectors",
+ "type": "row"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 37
+ },
+ "id": 39,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "confluent_kafka_connect_dead_letter_queue_records{scrape_job=~\"$job\",connector_id=~\"$connector_id\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "{{connector_id}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Dead letter queue records Count",
+ "transformations": [
+ {
+ "id": "reduce",
+ "options": {
+ "includeTimeField": false,
+ "labelsToFields": false,
+ "mode": "seriesToRows",
+ "reducers": [
+ "lastNotNull"
+ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "__name__": true,
+ "instance": true,
+ "job": true,
+ "scrape_job": true
+ },
+ "indexByName": { },
+ "renameByName": {
+ "Field": "Connector",
+ "Last *": "Count",
+ "Value #A": "Records",
+ "connector_id": "Connector"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 46
+ },
+ "id": 36,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "confluent_kafka_connect_received_records{scrape_job=~\"$job\",connector_id=~\"$connector_id\"}",
+ "interval": "",
+ "legendFormat": "{{connector_id}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Received records",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 46
+ },
+ "id": 38,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "confluent_kafka_connect_received_bytes{scrape_job=~\"$job\",connector_id=~\"$connector_id\"}",
+ "interval": "",
+ "legendFormat": "{{connector_id}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Received bytes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 54
+ },
+ "id": 35,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "confluent_kafka_connect_sent_records{scrape_job=~\"$job\",connector_id=~\"$connector_id\"}",
+ "interval": "",
+ "legendFormat": "{{connector_id}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Sent records",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 54
+ },
+ "id": 37,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "confluent_kafka_connect_sent_bytes{scrape_job=~\"$job\",connector_id=~\"$connector_id\"}",
+ "interval": "",
+ "legendFormat": "{{connector_id}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Sent bytes",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 62
+ },
+ "id": 42,
+ "panels": [ ],
+ "title": "ksqlDB",
+ "type": "row"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 63
+ },
+ "id": 44,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "confluent_kafka_ksql_streaming_unit_count{scrape_job=~\"$job\",ksql_id=~\"$ksql_id\"}",
+ "interval": "",
+ "legendFormat": "{{ksql_id}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Streaming Unit Count",
+ "transformations": [
+ {
+ "id": "reduce",
+ "options": {
+ "reducers": [
+ "lastNotNull"
+ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": { },
+ "indexByName": { },
+ "renameByName": {
+ "Field": "Ksql",
+ "Last *": "Count"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "collapsed": false,
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 72
+ },
+ "id": 25,
+ "panels": [ ],
+ "title": "Schema Registry",
+ "type": "row"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 24,
+ "x": 0,
+ "y": 73
+ },
+ "id": 45,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "confluent_kafka_schema_registry_schema_count{scrape_job=~\"$job\",schema_registry_id=~\"$schema_registry_id\"}",
+ "interval": "",
+ "legendFormat": "{{schema_registry_id}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Schema Count",
+ "transformations": [
+ {
+ "id": "reduce",
+ "options": {
+ "reducers": [
+ "lastNotNull"
+ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": { },
+ "indexByName": { },
+ "renameByName": {
+ "Field": "Schema Registry",
+ "Last *": "Count"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 32,
+ "style": "dark",
+ "tags": [
+ "confluent-cloud-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "Prometheus",
+ "value": "Prometheus"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(confluent_kafka_server_retained_bytes, scrape_job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(confluent_kafka_server_retained_bytes, scrape_job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(confluent_kafka_server_retained_bytes{scrape_job=~\"$job\"}, kafka_id)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(confluent_kafka_server_retained_bytes{scrape_job=~\"$job\"}, kafka_id)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(confluent_kafka_server_retained_bytes{scrape_job=~\"$job\",kafka_id=~\"$cluster\"}, topic)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Topics",
+ "multi": true,
+ "name": "topic",
+ "options": [ ],
+ "query": {
+ "query": "label_values(confluent_kafka_server_retained_bytes{scrape_job=~\"$job\",kafka_id=~\"$cluster\"}, topic)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(confluent_kafka_server_request_count{scrape_job=~\"$job\", kafka_id=~\"$cluster\"},principal_id)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Principal ID",
+ "multi": true,
+ "name": "principal_id",
+ "options": [ ],
+ "query": {
+ "query": "label_values(confluent_kafka_server_request_count{scrape_job=~\"$job\", kafka_id=~\"$cluster\"},principal_id)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(confluent_kafka_connect_dead_letter_queue_records{scrape_job=~\"$job\"}, connector_id)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Connector",
+ "multi": true,
+ "name": "connector_id",
+ "options": [ ],
+ "query": {
+ "query": "label_values(confluent_kafka_connect_dead_letter_queue_records{scrape_job=~\"$job\"}, connector_id)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(confluent_kafka_ksql_streaming_unit_count{scrape_job=~\"$job\"}, ksql_id)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Ksql",
+ "multi": true,
+ "name": "ksql_id",
+ "options": [ ],
+ "query": {
+ "query": "label_values(confluent_kafka_ksql_streaming_unit_count{scrape_job=~\"$job\"}, ksql_id)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(confluent_kafka_schema_registry_schema_count{scrape_job=~\"$job\"}, schema_registry_id)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Schema Registry",
+ "multi": true,
+ "name": "schema_registry_id",
+ "options": [ ],
+ "query": {
+ "query": "label_values(confluent_kafka_schema_registry_schema_count{scrape_job=~\"$job\"}, schema_registry_id)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "Confluent Cloud",
+ "uid": "5CSjVXbnk",
+ "version": 7,
+ "weekStart": ""
+}
diff --git a/assets/confluent-kafka/rules.yaml b/assets/confluent-kafka/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/confluent-kafka/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/consul/dashboards/consul-overview.json b/assets/consul/dashboards/consul-overview.json
index f846fa1..6881207 100644
--- a/assets/consul/dashboards/consul-overview.json
+++ b/assets/consul/dashboards/consul-overview.json
@@ -56,7 +56,6 @@
"expr": "consul_up{job=~\"$job\",instance=~\"$instance\"}",
"format": "time_series",
"instant": true,
- "intervalFactor": 2,
"refId": "A"
}
],
@@ -163,7 +162,6 @@
"expr": "(rate(consul_raft_leader_lastcontact_count{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]) > bool 0)\n or\n(consul_up{job=~\"$job\",instance=~\"$instance\"} == bool 0)\n",
"format": "time_series",
"instant": true,
- "intervalFactor": 2,
"refId": "A"
}
],
@@ -270,7 +268,6 @@
"expr": "consul_raft_leader{job=~\"$job\",instance=~\"$instance\"}",
"format": "time_series",
"instant": true,
- "intervalFactor": 2,
"refId": "A"
}
],
@@ -377,7 +374,6 @@
"expr": "consul_raft_peers{job=~\"$job\",instance=~\"$instance\"}",
"format": "time_series",
"instant": true,
- "intervalFactor": 2,
"refId": "A"
}
],
@@ -463,7 +459,6 @@
{
"expr": "sum(rate(consul_http_request_count{job=~\"$job\"}[$__rate_interval])) by (instance)",
"format": "time_series",
- "intervalFactor": 2,
"legendFormat": "{{instance}}",
"legendLink": null
}
@@ -538,21 +533,18 @@
{
"expr": "max(consul_http_request{job=~\"$job\", quantile=\"0.99\"}) by (instance)",
"format": "time_series",
- "intervalFactor": 2,
"legendFormat": "99th Percentile",
"legendLink": "{{instance}}"
},
{
"expr": "max(consul_http_request{job=~\"$job\", quantile=\"0.5\"}) by (instance)",
"format": "time_series",
- "intervalFactor": 2,
"legendFormat": "50th Percentile",
"legendLink": "{{instance}}"
},
{
"expr": "sum(rate(consul_http_request{job=~\"$job\"}[$__rate_interval])) by (instance) / sum(rate(consul_http_request{job=~\"$job\"}[$__rate_interval])) by (instance)",
"format": "time_series",
- "intervalFactor": 2,
"legendFormat": "Average",
"legendLink": null
}
@@ -613,7 +605,7 @@
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
"options": [ ],
"query": "prometheus",
diff --git a/assets/couchbase/alerts.yaml b/assets/couchbase/alerts.yaml
new file mode 100644
index 0000000..921e525
--- /dev/null
+++ b/assets/couchbase/alerts.yaml
@@ -0,0 +1,48 @@
+groups:
+- name: couchbase
+ rules:
+ - alert: CouchbaseHighCPUUsage
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent CPU usage on node {{$labels.instance}}
+ and on cluster {{$labels.couchbase_cluster}}, which is above the threshold
+ of 85.'
+ summary: The node CPU usage has exceeded the critical threshold.
+ expr: |
+ (sys_cpu_utilization_rate) > 85
+ for: 5m
+ labels:
+ severity: critical
+ - alert: CouchbaseHighMemoryUsage
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent memory usage on node {{$labels.instance}}
+ and on cluster {{$labels.couchbase_cluster}}, which is above the threshold
+ of 85.'
+ summary: There is a limited amount of memory available for a node.
+ expr: |
+ 100 * (sys_mem_actual_used / clamp_min(sys_mem_actual_used + sys_mem_actual_free, 1)) > 85
+ for: 5m
+ labels:
+ severity: critical
+ - alert: CouchbaseMemoryEvictionRate
+ annotations:
+ description: '{{ printf "%.0f" $value }} evictions in bucket {{$labels.bucket}},
+ on node {{$labels.instance}}, and on cluster {{$labels.couchbase_cluster}},
+ which is above the threshold of 10.'
+ summary: There is a spike in evictions in a bucket, which indicates high memory
+ pressure.
+ expr: |
+ (kv_ep_num_value_ejects) > 10
+ for: 5m
+ labels:
+ severity: warning
+ - alert: CouchbaseInvalidRequestVolume
+ annotations:
+ description: '{{ printf "%.0f" $value }} invalid requests to {{$labels.couchbase_cluster}},
+ which is above the threshold of 1000.'
+ summary: There is a high volume of incoming invalid requests, which may indicate
+ a DOS or injection attack.
+ expr: |
+ sum without(instance, job) (rate(n1ql_invalid_requests[2m])) > 1000
+ for: 2m
+ labels:
+ severity: warning
diff --git a/assets/couchbase/dashboards/couchbase-bucket-overview.json b/assets/couchbase/dashboards/couchbase-bucket-overview.json
new file mode 100644
index 0000000..63d9cbf
--- /dev/null
+++ b/assets/couchbase/dashboards/couchbase-bucket-overview.json
@@ -0,0 +1,965 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "couchbase-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Couchbase dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Memory used for the top buckets.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk(5, kv_mem_used_bytes{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\", bucket=~\"$bucket\" })",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{bucket}}"
+ }
+ ],
+ "title": "Top buckets by memory used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total space on disk used for the top buckets.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "min": 1,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "displayMode": "basic",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk(5, couch_docs_actual_disk_size{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\", bucket=~\"$bucket\" })",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{bucket}}"
+ }
+ ],
+ "title": "Top buckets by disk used",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of active items for the largest buckets.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk(5, kv_curr_items{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\", bucket=~\"$bucket\" })",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{bucket}}"
+ }
+ ],
+ "title": "Top buckets by current items",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of operations for the busiest buckets.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk(5, sum by(bucket, couchbase_cluster, instance, job, op) (rate(kv_ops{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\", bucket=~\"$bucket\" }[$__rate_interval])))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{bucket}} - {{op}}"
+ }
+ ],
+ "title": "Top buckets by operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of failed operations for the most problematic buckets.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 8
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk(5, sum by(bucket, couchbase_cluster, instance, job) (rate(kv_ops_failed{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\", bucket=~\"$bucket\" }[$__rate_interval])))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{bucket}}"
+ }
+ ],
+ "title": "Top buckets by operations failed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of high priority requests processed by the KV engine for the top buckets.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk(5, sum by(bucket, couchbase_cluster, instance, job) (kv_num_high_pri_requests{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\", bucket=~\"$bucket\" }))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{bucket}}"
+ }
+ ],
+ "title": "Top buckets by high priority requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Worst buckets by cache hit ratio.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 1,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "bottomk(5, sum by(couchbase_cluster, job, instance, bucket) (increase(index_cache_hits{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\", bucket=~\"$bucket\" }[$__rate_interval]))) / (clamp_min(sum by(couchbase_cluster, job, instance, bucket) (increase(index_cache_hits{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\", bucket=~\"$bucket\" }[$__rate_interval])), 1) + sum by(couchbase_cluster, job, instance, bucket) (increase(index_cache_misses{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\", bucket=~\"$bucket\" }[$__rate_interval])))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{bucket}}"
+ }
+ ],
+ "title": "Bottom buckets by cache hit ratio",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of virtual buckets across the cluster for the top buckets.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "min": 1,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 9,
+ "options": {
+ "displayMode": "basic",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk(5, sum by(bucket, couchbase_cluster, instance, job) (kv_num_vbuckets{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\", bucket=~\"$bucket\" }))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{bucket}}"
+ }
+ ],
+ "title": "Top buckets by vBuckets count",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Memory occupied by the queue for a virtual bucket for the top buckets.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk(5, sum by(bucket, couchbase_cluster, instance, job) (kv_vb_queue_memory_bytes{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\", bucket=~\"$bucket\" }))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{bucket}}"
+ }
+ ],
+ "title": "Top buckets by vBucket queue memory",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "couchbase-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Job",
+ "multi": false,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(kv_mem_used_bytes,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(kv_mem_used_bytes{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Couchbase cluster",
+ "multi": true,
+ "name": "couchbase_cluster",
+ "options": [ ],
+ "query": "label_values(kv_mem_used_bytes{job=~\"$job\"},couchbase_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(kv_mem_used_bytes{job=~\"$job\"},instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Bucket",
+ "multi": true,
+ "name": "bucket",
+ "options": [ ],
+ "query": "label_values(kv_mem_used_bytes{job=~\"$job\"},bucket)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Couchbase bucket overview",
+ "uid": "couchbase-bucket-overview",
+ "version": 0
+}
diff --git a/assets/couchbase/dashboards/couchbase-cluster-overview.json b/assets/couchbase/dashboards/couchbase-cluster-overview.json
new file mode 100644
index 0000000..c6fa99e
--- /dev/null
+++ b/assets/couchbase/dashboards/couchbase-cluster-overview.json
@@ -0,0 +1,1184 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "couchbase-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Couchbase dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top nodes by memory usage across the Couchbase cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk(5, sum by(job, couchbase_cluster, instance) (sys_mem_actual_used{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\"})) / (sum by(job, couchbase_cluster, instance) (clamp_min(sys_mem_actual_free{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\"}, 1)) + sum by(couchbase_cluster, instance, job) (sys_mem_actual_used{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Top nodes by memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of HTTP requests handled by the cluster manager for the top nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk(5, sum by(job, couchbase_cluster, instance) (rate(cm_http_requests_total{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\"}[$__rate_interval])))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Top nodes by HTTP requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of N1QL requests processed by the query service for the top nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk(5, sum by(job, instance, couchbase_cluster) (rate(n1ql_requests{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\"}[$__rate_interval])))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Top nodes by query service requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average time to serve an index service scan request for the top nodes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ns"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk(5, avg by(instance, couchbase_cluster, job) (index_avg_scan_latency{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Top nodes by index average scan latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of replication through the Cross Data Center Replication feature.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 16
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(couchbase_cluster, job) (rate(xdcr_data_replicated_bytes{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}}"
+ }
+ ],
+ "title": "XDCR replication rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of mutations received by this cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "mut/sec"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 16
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, couchbase_cluster) (rate(xdcr_docs_received_from_dcp_total{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}}"
+ }
+ ],
+ "title": "XDCR docs received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The size of the locally replicated data stored, per node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "min": 1,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 16
+ },
+ "id": 8,
+ "options": {
+ "displayMode": "basic",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(couchbase_cluster, job, instance) (backup_data_size{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Local backup size",
+ "type": "bargauge"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 9,
+ "targets": [ ],
+ "title": "Buckets",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Memory used for the top buckets.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk(5, sum by(bucket, couchbase_cluster, job) (kv_mem_used_bytes{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{bucket}}"
+ }
+ ],
+ "title": "Top buckets by memory used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Space on disk used for the top buckets.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "min": 1,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "id": 11,
+ "options": {
+ "displayMode": "basic",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk(5, sum by(job, couchbase_cluster, bucket) (couch_docs_actual_disk_size{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{bucket}}"
+ }
+ ],
+ "title": "Top buckets by disk used",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of operations for the busiest buckets.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 33
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk(5, sum by(couchbase_cluster, job, bucket) (rate(kv_ops{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\"}[$__rate_interval])))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{bucket}}"
+ }
+ ],
+ "title": "Top buckets by operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of operations failed for the most problematic buckets.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 33
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk(5, sum by(couchbase_cluster, job, bucket) (rate(kv_ops_failed{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\"}[$__rate_interval])))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{bucket}}"
+ }
+ ],
+ "title": "Top buckets by operations failed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of virtual buckets across the cluster for the top buckets.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "min": 1,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 33
+ },
+ "id": 14,
+ "options": {
+ "displayMode": "basic",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk(5, sum by(couchbase_cluster, job, bucket) (kv_num_vbuckets{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{bucket}}"
+ }
+ ],
+ "title": "Top buckets by vBuckets count",
+ "type": "bargauge"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "couchbase-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Job",
+ "multi": false,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(kv_num_vbuckets,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(kv_num_vbuckets{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Couchbase cluster",
+ "multi": true,
+ "name": "couchbase_cluster",
+ "options": [ ],
+ "query": "label_values(kv_num_vbuckets{job=~\"$job\"},couchbase_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Couchbase cluster overview",
+ "uid": "couchbase-cluster-overview",
+ "version": 0
+}
diff --git a/assets/couchbase/dashboards/couchbase-node-overview.json b/assets/couchbase/dashboards/couchbase-node-overview.json
new file mode 100644
index 0000000..f653284
--- /dev/null
+++ b/assets/couchbase/dashboards/couchbase-node-overview.json
@@ -0,0 +1,1399 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "couchbase-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Couchbase dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Percentage of memory allocated to Couchbase on this node actually in use.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sys_mem_actual_used{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"} / (clamp_min(sys_mem_actual_free{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"} + sys_mem_actual_used{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"}, 1))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Memory utilization",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "CPU utilization percentage across all available cores on this Couchbase node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(couchbase_cluster, job, instance) (sys_cpu_utilization_rate{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "CPU utilization",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Memory used by the index, analytics, and data services for a node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "index_memory_used_total{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}} - index"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "cbas_direct_memory_used_bytes{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}} - analytics"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(couchbase_cluster, instance, job) (kv_mem_used_bytes{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}} - data"
+ }
+ ],
+ "title": "Total memory used by service",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Size of locally replicated cluster data for a Couchbase node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "min": 1,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "displayMode": "basic",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "vertical",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(couchbase_cluster, instance, job) (backup_data_size{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Backup size",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of active connections to a node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "stepBefore",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 8
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "kv_curr_connections{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Current connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of HTTP response codes handled by the cluster manager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0.001,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, instance, couchbase_cluster, code) (rate(cm_http_requests_total{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}} - {{code}}"
+ }
+ ],
+ "title": "HTTP response codes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of HTTP request methods handled by the cluster manager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, instance, couchbase_cluster, method) (rate(cm_http_requests_total{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}} - {{method}}"
+ }
+ ],
+ "title": "HTTP request methods",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of N1QL requests processed by the query service for a node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(n1ql_requests{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"}[$__rate_interval]) + rate(n1ql_invalid_requests{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}} - total"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(n1ql_errors{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}} - error"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(n1ql_invalid_requests{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}} - invalid"
+ }
+ ],
+ "title": "Query service requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of queries grouped by processing time.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(n1ql_requests{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}} - >0ms"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(n1ql_requests_250ms{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}} - >250ms"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(n1ql_requests_500ms{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}} - >500ms"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(n1ql_requests_1000ms{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}} - >1000ms"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(n1ql_requests_5000ms{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}} - >5000ms"
+ }
+ ],
+ "title": "Query service request processing time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of index service requests served.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 32
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(couchbase_cluster, instance, job) (rate(index_num_requests{couchbase_cluster=~\"$couchbase_cluster\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Index service requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Ratio at which cache scans result in a hit rather than a miss.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 1,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 32
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(couchbase_cluster, job, instance) (increase(index_cache_hits{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"}[$__rate_interval])) / (clamp_min(sum by(couchbase_cluster, job, instance) (increase(index_cache_hits{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"}[$__rate_interval])), 1) + sum by(couchbase_cluster, job, instance) (increase(index_cache_misses{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"}[$__rate_interval])))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Index cache hit ratio",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average time to serve a scan request per index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ns"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 32
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(couchbase_cluster, index, instance, job) (index_avg_scan_latency{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{couchbase_cluster}} - {{instance}} - {{index}}"
+ }
+ ],
+ "title": "Average scan latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "Recent error logs from a node.",
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 40
+ },
+ "id": 14,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": true,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"} |~ `ns_server:error|couchbase.log.error`",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Error logs",
+ "type": "logs"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "Recent couchbase logs from a node.",
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 47
+ },
+ "id": 15,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{job=~\"$job\", couchbase_cluster=~\"$couchbase_cluster\", instance=~\"$instance\"} |~ `couchdb`",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Couchbase logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "couchbase-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki Datasource",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Job",
+ "multi": false,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(sys_mem_actual_used,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(sys_mem_actual_used{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Couchbase cluster",
+ "multi": true,
+ "name": "couchbase_cluster",
+ "options": [ ],
+ "query": "label_values(sys_mem_actual_used{job=~\"$job\"},couchbase_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(sys_mem_actual_used{job=~\"$job\"},instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Couchbase node overview",
+ "uid": "couchbase-node-overview",
+ "version": 0
+}
diff --git a/assets/couchbase/rules.yaml b/assets/couchbase/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/couchbase/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/discourse/alerts.yaml b/assets/discourse/alerts.yaml
new file mode 100644
index 0000000..32799e1
--- /dev/null
+++ b/assets/discourse/alerts.yaml
@@ -0,0 +1,25 @@
+groups:
+- name: DiscourseAlerts
+ rules:
+ - alert: DiscourseRequestsHigh5xxErrors
+ annotations:
+ description: '{{ printf "%.2f" $value }}% of all requests are resulting in 500
+ status codes, which is above the threshold 10%, indicating a potentially larger
+ issue for {{$labels.instance}}'
+ summary: More than 10% of all requests result in a 5XX.
+ expr: |
+ 100 * rate(discourse_http_requests{status="500"}[5m]) / on() group_left() (sum(rate(discourse_http_requests[5m])) by (instance)) > 10
+ for: 5m
+ labels:
+ severity: critical
+ - alert: DiscourseRequestsHigh4xxErrors
+ annotations:
+ description: '{{ printf "%.2f" $value }}% of all requests are resulting in 400
+ status code, which is above the threshold 30%, indicating a potentially larger
+ issue for {{$labels.instance}}'
+ summary: More than 30% of all requests result in a 4XX.
+ expr: |
+ 100 * rate(discourse_http_requests{status=~"^4.*"}[5m]) / on() group_left() (sum(rate(discourse_http_requests[5m])) by (instance)) > 30
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/discourse/dashboards/discourse-jobs.json b/assets/discourse/dashboards/discourse-jobs.json
new file mode 100644
index 0000000..dcdeada
--- /dev/null
+++ b/assets/discourse/dashboards/discourse-jobs.json
@@ -0,0 +1,914 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 1,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "discourse-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Discourse dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current number of Sidekiq Workers.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.1.8",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "count(discourse_rss{type=\"sidekiq\",instance=~\"$instance\",job=~\"$job\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "range": true,
+ "refId": "A",
+ "step": 40,
+ "target": ""
+ }
+ ],
+ "title": "Sidekiq Workers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current number of Web Workers.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 8,
+ "y": 0
+ },
+ "id": 3,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.1.8",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "count(discourse_rss{type='web',instance=~\"$instance\",job=~\"$job\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "range": true,
+ "refId": "A",
+ "step": 40,
+ "target": ""
+ }
+ ],
+ "title": "Web Workers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current number of jobs in Sidekiq queue.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "id": 4,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "max(discourse_sidekiq_jobs_enqueued{instance=~\"$instance\",job=~\"$job\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "range": true,
+ "refId": "A",
+ "step": 40,
+ "target": ""
+ }
+ ],
+ "title": "Sidekiq Queued",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of scheduled jobs ran over an interval.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(discourse_scheduled_job_count{instance=~\"$instance\", job=~\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{job_name}}"
+ }
+ ],
+ "title": "Scheduled Jobs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of sidekiq jobs ran over an interval.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(discourse_sidekiq_job_count{instance=~\"$instance\", job=~\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{job_name}}"
+ }
+ ],
+ "title": "Sidekiq Jobs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Time spent in scheduled jobs broken out by job name.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 7,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.8",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(rate(discourse_scheduled_job_duration_seconds{instance=~\"$instance\",job=~\"$job\"}[$__rate_interval])) by (job_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{job_name}}"
+ }
+ ],
+ "title": "Scheduled Job Duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Time spent in Sidekiq jobs broken out by job name.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 8,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.8",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(rate(discourse_sidekiq_job_duration_seconds{instance=~\"$instance\",job=~\"$job\"}[$__rate_interval])) by (job_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{job_name}}"
+ }
+ ],
+ "title": "Sidekiq Job Duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total RSS Memory used by process. Broken up by pid.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 18
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(discourse_rss{instance=~\"$instance\",job=~\"$job\"}) by (pid)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "pid: {{pid}}"
+ }
+ ],
+ "title": "Used RSS Memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current heap size of V8 engine. Broken up by process type",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(discourse_v8_used_heap_size{instance=~\"$instance\",job=~\"$job\"}) by (type)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{type}}"
+ }
+ ],
+ "title": "V8 Heap Size",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "discourse-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "hide": 0,
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "text": "",
+ "value": ""
+ },
+ "datasource": "$prometheus_datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(discourse_page_views, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(discourse_page_views{}, job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Discourse Jobs Processing",
+ "uid": "discourse-jobs",
+ "version": 0
+}
diff --git a/assets/discourse/dashboards/discourse-overview.json b/assets/discourse/dashboards/discourse-overview.json
new file mode 100644
index 0000000..e76093b
--- /dev/null
+++ b/assets/discourse/dashboards/discourse-overview.json
@@ -0,0 +1,889 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 1,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "discourse-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other discourse dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "title": "Overview",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of HTTP traffic over time for the entire application. Grouped by response code.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 1
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(rate(discourse_http_requests{instance=~\"$instance\",job=~\"$job\"}[$__rate_interval])) by (status)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{status}}"
+ }
+ ],
+ "title": "Traffic by Response Code",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Active web requests for the entire application",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 1
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "discourse_active_app_reqs{instance=~\"$instance\",job=~\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Active Requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Queued web requests for the entire application.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 7
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "discourse_queued_app_reqs{instance=~\"$instance\",job=~\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Queued Requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of pageviews for the entire application. Grouped by type and service.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "views/sec"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 7
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(discourse_page_views{instance=~\"$instance\",job=~\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Page Views",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 12
+ },
+ "id": 7,
+ "title": "Latency",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The median amount of time for “latest” page requests for the selected site.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 13
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(discourse_http_duration_seconds{quantile=\"0.5\",action=\"latest\",instance=~\"$instance\",job=~\"$job\"}) by (controller)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{controller}}"
+ }
+ ],
+ "title": "Latest Median Request Time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The median amount of time for “topics show” requests for the selected site.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 13
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(discourse_http_duration_seconds{quantile=\"0.5\",controller=\"topics\",instance=~\"$instance\",job=~\"$job\"}) by (controller)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{controller}}"
+ }
+ ],
+ "title": "Topic Show Median Request Time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The 99th percentile amount of time for “latest” page requests for the selected site.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 18
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(discourse_http_duration_seconds{quantile=\"0.99\",action=\"latest\",instance=~\"$instance\",job=~\"$job\"}) by (controller)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{controller}}"
+ }
+ ],
+ "title": "Latest 99th percentile Request Time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The 99th percentile amount of time for “topics show” requests for the selected site.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "discourse_http_duration_seconds{quantile=\"0.99\",controller=\"topics\",instance=~\"$instance\",job=~\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{controller}}"
+ }
+ ],
+ "title": "Topic Show 99th percentile Request Time",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "discourse-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "hide": 0,
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "text": "",
+ "value": ""
+ },
+ "datasource": "$prometheus_datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(discourse_page_views{}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(discourse_page_views{}, job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Discourse Overview",
+ "uid": "discourse-overview",
+ "version": 0
+}
diff --git a/assets/discourse/rules.yaml b/assets/discourse/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/discourse/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/docker/alerts.yaml b/assets/docker/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/docker/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/docker/dashboards/docker-logs.json b/assets/docker/dashboards/docker-logs.json
new file mode 100644
index 0000000..16de9e9
--- /dev/null
+++ b/assets/docker/dashboards/docker-logs.json
@@ -0,0 +1,754 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "docker"
+ ],
+ "targetBlank": false,
+ "title": "Docker Dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "collapse": false,
+ "collapsed": false,
+ "gridPos": {
+ "h": 0,
+ "w": 0,
+ "x": 0,
+ "y": 2
+ },
+ "id": 2,
+ "panels": [ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Overview",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "datasource": "$loki_datasource",
+ "description": "Total number of log lines including errors and warnings.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgb(192, 216, 255)",
+ "value": 0
+ }
+ ]
+ },
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 2
+ },
+ "id": 3,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "7",
+ "targets": [
+ {
+ "expr": "sum(count_over_time({job=~\"$job\", instance=~\"$instance\", container=~\"$container\"}[$__interval]))",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Log Lines",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$loki_datasource",
+ "description": "Total number of log lines of level: warning.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgb(255, 152, 48)",
+ "value": 0
+ }
+ ]
+ },
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 4,
+ "y": 2
+ },
+ "id": 4,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "7",
+ "targets": [
+ {
+ "expr": "sum(count_over_time({job=~\"$job\", instance=~\"$instance\", container=~\"$container\"} |= \"Warning\" [$__interval]))",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Warnings",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$loki_datasource",
+ "description": "Total number of log lines of level: error.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgb(242, 73, 92)",
+ "value": 0
+ }
+ ]
+ },
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 8,
+ "y": 2
+ },
+ "id": 5,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "7",
+ "targets": [
+ {
+ "expr": "sum(count_over_time({job=~\"$job\", instance=~\"$instance\", container=~\"$container\"} |= \"Error\" [$__interval]))",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Errors",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$loki_datasource",
+ "description": "Percentage of log lines with level: Error out of total log lines.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgb(255, 166, 176)",
+ "value": 0
+ },
+ {
+ "color": "rgb(255, 115, 131)",
+ "value": 25
+ },
+ {
+ "color": "rgb(196, 22, 42)",
+ "value": 50
+ }
+ ]
+ },
+ "unit": "percent"
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 12,
+ "y": 2
+ },
+ "id": 6,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "7",
+ "targets": [
+ {
+ "expr": "sum( count_over_time({job=~\"$job\", instance=~\"$instance\", container=~\"$container\"} |= \"Error\" [$__interval]) ) / sum( count_over_time({job=~\"$job\", instance=~\"$instance\", container=~\"$container\"} [$__interval]) )",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Error Percentage",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$loki_datasource",
+ "description": "Total number of bytes for log lines including errors and warnings.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgb(184, 119, 217)",
+ "value": 0
+ }
+ ]
+ },
+ "unit": "bytes"
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 16,
+ "y": 2
+ },
+ "id": 7,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "7",
+ "targets": [
+ {
+ "expr": "sum(bytes_over_time({job=~\"$job\", instance=~\"$instance\", container=~\"$container\"} [$__interval]))",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Bytes Used",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMin": 0,
+ "fillOpacity": 50,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineWidth": 1,
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Lines"
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "super-light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Warnings"
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "C"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Errors"
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 6
+ },
+ "id": 8,
+ "interval": "10s",
+ "maxDataPoints": 25,
+ "options": {
+ "barRadius": 0.25,
+ "barWidth": 0.69999999999999996,
+ "groupWidth": 0.5,
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "orientation": "auto",
+ "showValue": "never",
+ "stacking": "none",
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ },
+ "xTickLabelRotation": 0,
+ "xTickLabelSpacing": 100
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "sum(count_over_time({job=~\"$job\", instance=~\"$instance\", container=~\"$container\"}[$__interval]))",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "sum(count_over_time({job=~\"$job\", instance=~\"$instance\", container=~\"$container\"} |= \"Warning\" [$__interval]))",
+ "hide": false,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "sum(count_over_time({job=~\"$job\", instance=~\"$instance\", container=~\"$container\"} |= \"Error\" [$__interval]))",
+ "hide": false,
+ "refId": "C"
+ }
+ ],
+ "title": "Historical Logs / Warnings / Errors",
+ "type": "barchart"
+ },
+ {
+ "collapse": true,
+ "collapsed": true,
+ "gridPos": {
+ "h": 0,
+ "w": 0,
+ "x": 0,
+ "y": 12
+ },
+ "id": 9,
+ "panels": [
+ {
+ "datasource": "$loki_datasource",
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 12
+ },
+ "id": 10,
+ "options": {
+ "showLabels": false,
+ "showTime": true,
+ "sortOrder": "Descending",
+ "wrapLogMessage": true
+ },
+ "span": 12,
+ "targets": [
+ {
+ "expr": "{job=~\"$job\", instance=~\"$instance\", container=~\"$container\"} |= \"Error\"",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Errors",
+ "type": "logs"
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Errors",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": true,
+ "collapsed": true,
+ "gridPos": {
+ "h": 0,
+ "w": 0,
+ "x": 0,
+ "y": 20
+ },
+ "id": 11,
+ "panels": [
+ {
+ "datasource": "$loki_datasource",
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 20
+ },
+ "id": 12,
+ "options": {
+ "showLabels": false,
+ "showTime": true,
+ "sortOrder": "Descending",
+ "wrapLogMessage": true
+ },
+ "span": 12,
+ "targets": [
+ {
+ "expr": "{job=~\"$job\", instance=~\"$instance\", container=~\"$container\"} |= \"Warning\"",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Warnings",
+ "type": "logs"
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Warnings",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": true,
+ "collapsed": true,
+ "gridPos": {
+ "h": 0,
+ "w": 0,
+ "x": 0,
+ "y": 28
+ },
+ "id": 13,
+ "panels": [
+ {
+ "datasource": "$loki_datasource",
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 14,
+ "options": {
+ "showLabels": false,
+ "showTime": true,
+ "sortOrder": "Descending",
+ "wrapLogMessage": true
+ },
+ "span": 12,
+ "targets": [
+ {
+ "expr": "{job=~\"$job\", instance=~\"$instance\", container=~\"$container\"}",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Full Log File",
+ "type": "logs"
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Complete Log File",
+ "titleSize": "h6",
+ "type": "row"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "docker"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "label": "Prometheus Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "label": "Loki Data Source",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$prometheus_datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(machine_scrape_error, job)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$prometheus_datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(machine_scrape_error{job=~\"$job\"}, instance)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$prometheus_datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Container",
+ "multi": true,
+ "name": "container",
+ "options": [ ],
+ "query": "label_values(container_last_seen{job=~\"$job\", instance=~\"$instance\"}, name)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Docker Logs",
+ "uid": "integration-docker-logs",
+ "version": 0
+}
diff --git a/assets/docker/dashboards/docker.json b/assets/docker/dashboards/docker.json
new file mode 100644
index 0000000..cae6a59
--- /dev/null
+++ b/assets/docker/dashboards/docker.json
@@ -0,0 +1,1277 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 3,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "docker-integration"
+ ],
+ "targetBlank": false,
+ "title": "Docker Dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapse": false,
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$prometheus_datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 3
+ },
+ "id": 2,
+ "panels": [ ],
+ "showTitle": true,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$prometheus_datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Overview",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "Total number of running containers last seen by the exporter.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 4,
+ "x": 0,
+ "y": 4
+ },
+ "id": 3,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "count(container_last_seen{job=~\"$job\", instance=~\"$instance\", name=~\"$container\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Containers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "Total number of distinct images found across running containers",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 4,
+ "x": 4,
+ "y": 4
+ },
+ "id": 4,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "count (sum by (image) (container_last_seen{job=~\"$job\", instance=~\"$instance\", name=~\"$container\", image=~\".+\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Images",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "Cumulative cpu time consumed in seconds.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.80000000000000004
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.90000000000000002
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 4,
+ "x": 8,
+ "y": 4
+ },
+ "id": 5,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "minVizHeight": 200,
+ "minVizWidth": 200,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true,
+ "sizing": "auto"
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "sum (rate(container_cpu_usage_seconds_total{job=~\"$job\", instance=~\"$instance\", name=~\"$container\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "CPU Utilization by Containers",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "Memory reserved by the containers on the machine.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.80000000000000004
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.90000000000000002
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 4,
+ "x": 12,
+ "y": 4
+ },
+ "id": 6,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "minVizHeight": 200,
+ "minVizWidth": 200,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true,
+ "sizing": "auto"
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "sum(container_spec_memory_reservation_limit_bytes{job=~\"$job\", instance=~\"$instance\", name=~\"$container\"}) / avg(machine_memory_bytes{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Memory Reserved by Containers",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "Current memory usage in bytes, including all memory regardless of when it was accessed.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.80000000000000004
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.90000000000000002
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 4,
+ "x": 16,
+ "y": 4
+ },
+ "id": 7,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "minVizHeight": 200,
+ "minVizWidth": 200,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true,
+ "sizing": "auto"
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "sum(container_memory_usage_bytes{job=~\"$job\", instance=~\"$instance\", name=~\"$container\"}) / avg(machine_memory_bytes{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Memory Utilization by Containers",
+ "type": "gauge"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$prometheus_datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 11
+ },
+ "id": 8,
+ "panels": [ ],
+ "showTitle": true,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$prometheus_datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Compute",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "Cpu time consumed in seconds by container.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 0,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 9,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "avg by (name) (rate(container_cpu_usage_seconds_total{job=~\"$job\", instance=~\"$instance\", name=~\"$container\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "CPU",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "Current memory usage in bytes, including all memory regardless of when it was accessed by container.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 0,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 10,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "sum by (name) (container_memory_usage_bytes{job=~\"$job\", instance=~\"$instance\", name=~\"$container\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Memory",
+ "type": "timeseries"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$prometheus_datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 20
+ },
+ "id": 11,
+ "panels": [ ],
+ "showTitle": true,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$prometheus_datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Network",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "Cumulative count of bytes transmitted.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 0,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "binBps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*tx/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 21
+ },
+ "id": 12,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "sum by (name) (rate(container_network_receive_bytes_total{job=~\"$job\", instance=~\"$instance\", name=~\"$container\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{name}} rx",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "sum by (name) (rate(container_network_transmit_bytes_total{job=~\"$job\", instance=~\"$instance\", name=~\"$container\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{name}} tx",
+ "refId": "B"
+ }
+ ],
+ "title": "Bandwidth",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "TCP sockets on containers by state.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 21
+ },
+ "id": 13,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "sum(container_network_tcp_usage_total{job=~\"$job\", instance=~\"$instance\", name=~\"$container\"}) by (tcp_state) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{tcp_state}}",
+ "refId": "A"
+ }
+ ],
+ "title": "TCP Sockets By State",
+ "type": "timeseries"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$prometheus_datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 29
+ },
+ "id": 14,
+ "panels": [ ],
+ "showTitle": true,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$prometheus_datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Storage",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "decimals": 2,
+ "displayName": "",
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Time"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Disk Usage"
+ },
+ {
+ "id": "unit",
+ "value": "percentunit"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Inode Usage"
+ },
+ {
+ "id": "unit",
+ "value": "percentunit"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "device"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Device"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Instance"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 30
+ },
+ "id": 15,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "sum by (instance, device) (container_fs_usage_bytes{job=~\"$job\", instance=~\"$instance\", id=\"/\", device=~\"/dev/.+\"} / container_fs_limit_bytes{job=~\"$job\", instance=~\"$instance\", id=\"/\", device=~\"/dev/.+\"})",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "1 - sum by (instance, device) (container_fs_inodes_free{job=~\"$job\", instance=~\"$instance\", id=\"/\", device=~\"/dev/.+\"} / container_fs_inodes_total{job=~\"$job\", instance=~\"$instance\", id=\"/\", device=~\"/dev/.+\"})",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "transformations": [
+ {
+ "id": "merge",
+ "options": { }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "device": false
+ },
+ "includeByName": { },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 39,
+ "tags": [
+ "docker-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$prometheus_datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(machine_scrape_error, job)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$prometheus_datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(machine_scrape_error{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$prometheus_datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Container",
+ "multi": true,
+ "name": "container",
+ "options": [ ],
+ "query": "label_values(container_last_seen{job=~\"$job\", instance=~\"$instance\"}, name)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Docker Overview",
+ "uid": "integration-docker-overview",
+ "version": 1,
+ "weekStart": ""
+}
diff --git a/assets/docker/rules.yaml b/assets/docker/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/docker/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/elasticsearch/alerts.yaml b/assets/elasticsearch/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/elasticsearch/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/elasticsearch/rules.yaml b/assets/elasticsearch/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/elasticsearch/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/envoy/alerts.yaml b/assets/envoy/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/envoy/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/envoy/dashboards/envoy-overview.json b/assets/envoy/dashboards/envoy-overview.json
new file mode 100644
index 0000000..e7e999d
--- /dev/null
+++ b/assets/envoy/dashboards/envoy-overview.json
@@ -0,0 +1,999 @@
+{
+ "annotations": {
+ "list": [ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "links": [ ],
+ "refresh": "10s",
+ "rows": [
+ {
+ "collapse": false,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fill": 1,
+ "id": 1,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(envoy_listener_downstream_cx_total{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "legendFormat": "Downstream / Ingress",
+ "legendLink": null
+ },
+ {
+ "expr": "sum(rate(envoy_cluster_upstream_cx_total{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "legendFormat": "Upstream / Egress",
+ "legendLink": null
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Connections / sec",
+ "tooltip": {
+ "shared": true,
+ "sort": 2,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "cps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fill": 1,
+ "id": 2,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(envoy_http_downstream_rq_total{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "legendFormat": "Downstream / Ingress",
+ "legendLink": null
+ },
+ {
+ "expr": "sum(rate(envoy_cluster_upstream_rq_total{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "legendFormat": "Upstream / Egress",
+ "legendLink": null
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "QPS",
+ "tooltip": {
+ "shared": true,
+ "sort": 2,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "rps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Traffic",
+ "titleSize": "h6"
+ },
+ {
+ "collapse": false,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {
+ "1xx": "#EAB839",
+ "2xx": "#7EB26D",
+ "3xx": "#6ED0E0",
+ "4xx": "#EF843C",
+ "5xx": "#E24D42"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fill": 10,
+ "id": 3,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 0,
+ "links": [ ],
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 3,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum by (status) (label_replace(rate(envoy_cluster_upstream_rq_xx{envoy_cluster_name=\"$envoy_cluster\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]), \"status\", \"${1}xx\", \"envoy_response_code_class\", \"(.*)\"))",
+ "format": "time_series",
+ "legendFormat": "{{status}}",
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "QPS",
+ "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": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fill": 1,
+ "id": 4,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 3,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "histogram_quantile(0.99, sum(rate(envoy_cluster_upstream_rq_time_bucket{envoy_cluster_name=\"$envoy_cluster\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])) by (le)) * 1",
+ "format": "time_series",
+ "legendFormat": "99th Percentile",
+ "refId": "A"
+ },
+ {
+ "expr": "histogram_quantile(0.50, sum(rate(envoy_cluster_upstream_rq_time_bucket{envoy_cluster_name=\"$envoy_cluster\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])) by (le)) * 1",
+ "format": "time_series",
+ "legendFormat": "50th Percentile",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(rate(envoy_cluster_upstream_rq_time_sum{envoy_cluster_name=\"$envoy_cluster\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])) * 1 / sum(rate(envoy_cluster_upstream_rq_time_count{envoy_cluster_name=\"$envoy_cluster\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "legendFormat": "Average",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Latency",
+ "tooltip": {
+ "shared": true,
+ "sort": 2,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "ms",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fill": 1,
+ "id": 5,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 3,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(envoy_cluster_upstream_rq_timeout{envoy_cluster_name=\"$envoy_cluster\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "legendFormat": "Timeouts",
+ "legendLink": null
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Timeouts / sec",
+ "tooltip": {
+ "shared": true,
+ "sort": 2,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "rps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fill": 1,
+ "id": 6,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 3,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(envoy_cluster_upstream_rq_active{envoy_cluster_name=\"$envoy_cluster\",job=~\"$job\",instance=~\"$instance\"})",
+ "format": "time_series",
+ "legendFormat": "Requests",
+ "legendLink": null
+ },
+ {
+ "expr": "sum(envoy_cluster_upstream_cx_active{envoy_cluster_name=\"$envoy_cluster\",job=~\"$job\",instance=~\"$instance\"})",
+ "format": "time_series",
+ "legendFormat": "Connections",
+ "legendLink": null
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Active",
+ "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": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ }
+ ],
+ "repeat": "envoy_cluster",
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Upstream / Egress: $envoy_cluster",
+ "titleSize": "h6"
+ },
+ {
+ "collapse": false,
+ "height": "250px",
+ "panels": [
+ {
+ "aliasColors": {
+ "1xx": "#EAB839",
+ "2xx": "#7EB26D",
+ "3xx": "#6ED0E0",
+ "4xx": "#EF843C",
+ "5xx": "#E24D42"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fill": 10,
+ "id": 7,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 0,
+ "links": [ ],
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 3,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum by (status) (label_replace(rate(envoy_http_downstream_rq_xx{envoy_http_conn_manager_prefix=\"$envoy_listener_filter\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]), \"status\", \"${1}xx\", \"envoy_response_code_class\", \"(.*)\"))",
+ "format": "time_series",
+ "legendFormat": "{{status}}",
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "QPS",
+ "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": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fill": 1,
+ "id": 8,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 3,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "histogram_quantile(0.99, sum(rate(envoy_http_downstream_rq_time_bucket{envoy_http_conn_manager_prefix=\"$envoy_listener_filter\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])) by (le)) * 1",
+ "format": "time_series",
+ "legendFormat": "99th Percentile",
+ "refId": "A"
+ },
+ {
+ "expr": "histogram_quantile(0.50, sum(rate(envoy_http_downstream_rq_time_bucket{envoy_http_conn_manager_prefix=\"$envoy_listener_filter\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])) by (le)) * 1",
+ "format": "time_series",
+ "legendFormat": "50th Percentile",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(rate(envoy_http_downstream_rq_time_sum{envoy_http_conn_manager_prefix=\"$envoy_listener_filter\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])) * 1 / sum(rate(envoy_http_downstream_rq_time_count{envoy_http_conn_manager_prefix=\"$envoy_listener_filter\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "legendFormat": "Average",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Latency",
+ "tooltip": {
+ "shared": true,
+ "sort": 2,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "ms",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fill": 1,
+ "id": 9,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 3,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(rate(envoy_http_downstream_rq_timeout{envoy_http_conn_manager_prefix=\"$envoy_listener_filter\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "legendFormat": "Timeouts",
+ "legendLink": null
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Timeouts / sec",
+ "tooltip": {
+ "shared": true,
+ "sort": 2,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "rps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fill": 1,
+ "id": 10,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null as zero",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 3,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(envoy_http_downstream_rq_active{envoy_http_conn_manager_prefix=\"$envoy_listener_filter\",job=~\"$job\",instance=~\"$instance\"})",
+ "format": "time_series",
+ "legendFormat": "Requests",
+ "legendLink": null
+ },
+ {
+ "expr": "sum(envoy_http_downstream_cx_active{envoy_http_conn_manager_prefix=\"$envoy_listener_filter\",job=~\"$job\",instance=~\"$instance\"})",
+ "format": "time_series",
+ "legendFormat": "Connections",
+ "legendLink": null
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Active",
+ "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": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ }
+ ],
+ "repeat": "envoy_listener_filter",
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Downstream / Ingress: $envoy_listener_filter",
+ "titleSize": "h6"
+ }
+ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "label": "Data source",
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "hide": 2,
+ "includeAll": true,
+ "label": "envoy_cluster",
+ "multi": true,
+ "name": "envoy_cluster",
+ "options": [ ],
+ "query": "label_values(envoy_cluster_version{job=~\"$job\",instance=~\"$instance\",envoy_cluster_name!=\"envoy-admin\"}, envoy_cluster_name)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 2,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "hide": 2,
+ "includeAll": true,
+ "label": "envoy_listener_filter",
+ "multi": true,
+ "name": "envoy_listener_filter",
+ "options": [ ],
+ "query": "label_values(envoy_http_downstream_rq_total{job=~\"$job\",instance=~\"$instance\",envoy_http_conn_manager_prefix!~\"admin|metrics\",}, envoy_http_conn_manager_prefix)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 2,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "text": "",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(envoy_server_uptime, job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "text": "",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(envoy_server_uptime{job=\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "utc",
+ "title": "Envoy Overview",
+ "uid": "54d07750e539f2dcd48d30784c928931",
+ "version": 0
+}
diff --git a/assets/envoy/rules.yaml b/assets/envoy/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/envoy/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/f5-bigip/alerts.yaml b/assets/f5-bigip/alerts.yaml
new file mode 100644
index 0000000..14d8832
--- /dev/null
+++ b/assets/f5-bigip/alerts.yaml
@@ -0,0 +1,47 @@
+groups:
+- name: bigip-alerts
+ rules:
+ - alert: BigIPLowNodeAvailabilityStatus
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent of available nodes, which is
+ below the threshold of 95.'
+ summary: Detecting a significant number of unavailable nodes which can causes
+ potential downtime or degraded performance.
+ expr: |
+ 100 * (sum(bigip_node_status_availability_state) / clamp_min(count(bigip_node_status_availability_state), 1)) < 95
+ for: 5m
+ labels:
+ severity: critical
+ - alert: BigIPServerSideConnectionLimit
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent of the max number of connections
+ in use on node {{$labels.node}}, which is above the threshold of 80 percent.'
+ summary: Approaching the connection limit may lead to rejecting new connections,
+ impacting availability.
+ expr: |
+ max without(instance, job) (100 * bigip_node_serverside_cur_conns / clamp_min(bigip_node_serverside_max_conns, 1)) > 80
+ for: 5m
+ labels:
+ severity: warning
+ - alert: BigIPHighRequestRate
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent increase in requests on pool
+ {{$labels.pool}}, which is above the threshold of 150.'
+ summary: An unexpected spike in requests might indicate an issue like a DDoS
+ attack or unexpected high load.
+ expr: |
+ max without(instance, job) (100 * rate(bigip_pool_tot_requests[10m]) / clamp_min(rate(bigip_pool_tot_requests[50m] offset 10m), 1)) > 150
+ for: 10m
+ labels:
+ severity: warning
+ - alert: BigIPHighConnectionQueueDepth
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent increase in connection queue
+ depth on node {{$labels.pool}}, which is above the threshold of 75.'
+ summary: A sudden spike or sustained high queue depth may indicate a bottleneck
+ in handling incoming connections.
+ expr: |
+ max without(instance, job) (100 * rate(bigip_pool_connq_depth[5m])) / clamp_min(rate(bigip_pool_connq_depth[50m] offset 10m), 1) > 75
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/f5-bigip/dashboards/bigip-cluster-overview.json b/assets/f5-bigip/dashboards/bigip-cluster-overview.json
new file mode 100644
index 0000000..b6dfc0e
--- /dev/null
+++ b/assets/f5-bigip/dashboards/bigip-cluster-overview.json
@@ -0,0 +1,837 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "f5-bigip-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other BIG-IP dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The percentage of nodes available.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 95
+ },
+ {
+ "color": "yellow",
+ "value": 96
+ },
+ {
+ "color": "green",
+ "value": 100
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "100 * sum by(partition, instance, job) (bigip_node_status_availability_state{job=~\"$job\", instance=~\"$instance\", partition=~\"$bigip_partition\"}) / clamp_min(count by(partition, instance, job) (bigip_node_status_availability_state{job=~\"$job\", instance=~\"$instance\", partition=~\"$bigip_partition\"}),1)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Node availability",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The percentage of pools available.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 95
+ },
+ {
+ "color": "yellow",
+ "value": 96
+ },
+ {
+ "color": "green",
+ "value": 100
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 8,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "100 * sum by(partition, instance, job) (bigip_pool_status_availability_state{job=~\"$job\", instance=~\"$instance\", partition=~\"$bigip_partition\"}) / clamp_min(count by(partition, instance, job) (bigip_pool_status_availability_state{job=~\"$job\", instance=~\"$instance\", partition=~\"$bigip_partition\"}),1)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Pool availability",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The percentage of virtual servers available.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 95
+ },
+ {
+ "color": "yellow",
+ "value": 96
+ },
+ {
+ "color": "green",
+ "value": 100
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "100 * sum by(partition, instance, job) (bigip_vs_status_availability_state{job=~\"$job\", instance=~\"$instance\", partition=~\"$bigip_partition\"}) / clamp_min(count by(partition, instance, job) (bigip_vs_status_availability_state{job=~\"$job\", instance=~\"$instance\", partition=~\"$bigip_partition\"}),1)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Virtual server availability",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Nodes with the highest number of active server-side connections.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 5
+ },
+ "id": 5,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "topk($k, bigip_node_serverside_cur_conns{job=~\"$job\", instance=~\"$instance\", partition=~\"$bigip_partition\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}} - {{instance}}"
+ }
+ ],
+ "title": "Top active server-side nodes",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Nodes with the highest outbound traffic.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 5
+ },
+ "id": 6,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "topk($k, increase(bigip_node_serverside_bytes_out{job=~\"$job\", instance=~\"$instance\", partition=~\"$bigip_partition\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}} - {{instance}}"
+ }
+ ],
+ "title": "Top outbound traffic nodes / $__interval",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Pools with the highest number of active members.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 0,
+ "y": 10
+ },
+ "id": 7,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "topk($k, bigip_pool_active_member_cnt{job=~\"$job\", instance=~\"$instance\", partition=~\"$bigip_partition\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{pool}} - {{instance}}"
+ }
+ ],
+ "title": "Top active members in pools",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Pools with the highest number of requests.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 8,
+ "y": 10
+ },
+ "id": 8,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "topk($k, increase(bigip_pool_tot_requests{job=~\"$job\", instance=~\"$instance\", partition=~\"$bigip_partition\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{pool}} - {{instance}}"
+ }
+ ],
+ "title": "Top requested pools / $__interval",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Pools with the largest connection queues.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 16,
+ "y": 9
+ },
+ "id": 9,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "topk($k, bigip_pool_connq_depth{job=~\"$job\", instance=~\"$instance\", partition=~\"$bigip_partition\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{pool}} - {{instance}}"
+ }
+ ],
+ "title": "Top queue depth",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Virtual servers with the highest traffic (inbound and outbound).",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 15
+ },
+ "id": 10,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "topk($k, increase(bigip_vs_clientside_bytes_in{job=~\"$job\", instance=~\"$instance\", partition=~\"$bigip_partition\"}[$__interval:])) + topk(5, increase(bigip_vs_clientside_bytes_out{job=~\"$job\", instance=~\"$instance\", partition=~\"$bigip_partition\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}}"
+ }
+ ],
+ "title": "Top utilized virtual servers / $__interval",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Virtual servers with the highest response times.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 15
+ },
+ "id": 11,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "topk($k, bigip_vs_cs_mean_conn_dur{job=~\"$job\", instance=~\"$instance\", partition=~\"$bigip_partition\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}}"
+ }
+ ],
+ "title": "Top latency virtual servers",
+ "type": "bargauge"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "f5-bigip-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(bigip_node_status_availability_state,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(bigip_node_status_availability_state{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": {
+ "text": "5",
+ "value": "5"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Top node count",
+ "multi": false,
+ "name": "k",
+ "options": [
+ {
+ "text": "5",
+ "value": "5"
+ },
+ {
+ "text": "10",
+ "value": "10"
+ },
+ {
+ "text": "20",
+ "value": "20"
+ },
+ {
+ "text": "50",
+ "value": "50"
+ }
+ ],
+ "query": "5,10,20,50",
+ "refresh": 0,
+ "type": "custom"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "BIG-IP partition",
+ "multi": true,
+ "name": "bigip_partition",
+ "options": [ ],
+ "query": "label_values(bigip_node_status_availability_state{job=~\"$job\", instance=~\"$instance\", partition=~\"$bigip_partition\"},partition)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "BIG-IP cluster overview",
+ "uid": "bigip-cluster-overview",
+ "version": 0
+}
diff --git a/assets/f5-bigip/dashboards/bigip-node-overview.json b/assets/f5-bigip/dashboards/bigip-node-overview.json
new file mode 100644
index 0000000..34a318d
--- /dev/null
+++ b/assets/f5-bigip/dashboards/bigip-node-overview.json
@@ -0,0 +1,972 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "f5-bigip-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other BIG-IP dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The availability status of the node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "custom": {
+ "align": "left",
+ "cellOptions": {
+ "type": "color-text"
+ },
+ "inspect": false
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Unavailable"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Available"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "__name__"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "partition"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Instance"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "node"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Node"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Status"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": [ ],
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "bigip_node_status_availability_state{job=~\"$job\", instance=~\"$instance\", node=~\"$bigip_node\", partition=~\"$bigip_partition\"}",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{node}} - {{instance}}"
+ }
+ ],
+ "title": "Availability status",
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of requests made to the node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 8,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "increase(bigip_node_tot_requests{job=~\"$job\", instance=~\"$instance\", node=~\"$bigip_node\", partition=~\"$bigip_partition\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}} - {{instance}}"
+ }
+ ],
+ "title": "Requests / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The current number of active sessions to the node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "bigip_node_cur_sessions{job=~\"$job\", instance=~\"$instance\", node=~\"$bigip_node\", partition=~\"$bigip_partition\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}} - {{instance}}"
+ }
+ ],
+ "title": "Active sessions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The current active server-side connections to the node in comparison to the maximum connection capacity.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 24,
+ "x": 0,
+ "y": 5
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "bigip_node_serverside_cur_conns{job=~\"$job\", instance=~\"$instance\", node=~\"$bigip_node\", partition=~\"$bigip_partition\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}} - {{instance}} - current"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "bigip_node_serverside_max_conns{job=~\"$job\", instance=~\"$instance\", node=~\"$bigip_node\", partition=~\"$bigip_partition\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}} - {{instance}} - max"
+ }
+ ],
+ "title": "Connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The rate of data received from the pool by the node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 10
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "rate(bigip_node_serverside_bytes_in{job=~\"$job\", instance=~\"$instance\", node=~\"$bigip_node\", partition=~\"$bigip_partition\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}} - {{instance}}"
+ }
+ ],
+ "title": "Traffic inbound",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The rate of data sent from the pool by the node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 10
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "rate(bigip_node_serverside_bytes_out{job=~\"$job\", instance=~\"$instance\", node=~\"$bigip_node\", partition=~\"$bigip_partition\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}} - {{instance}}"
+ }
+ ],
+ "title": "Traffic outbound",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of packets received by the node from the pool.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 15
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "increase(bigip_node_serverside_pkts_in{job=~\"$job\", instance=~\"$instance\", node=~\"$bigip_node\", partition=~\"$bigip_partition\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}} - {{instance}}"
+ }
+ ],
+ "title": "Packets inbound / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of packets sent by the node from the pool.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 15
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "increase(bigip_node_serverside_pkts_out{job=~\"$job\", instance=~\"$instance\", node=~\"$bigip_node\", partition=~\"$bigip_partition\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}} - {{instance}}"
+ }
+ ],
+ "title": "Packets outbound / $__interval",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "f5-bigip-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(bigip_node_status_availability_state,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(bigip_node_status_availability_state{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "BIG-IP node",
+ "multi": true,
+ "name": "bigip_node",
+ "options": [ ],
+ "query": "label_values(bigip_node_status_availability_state{job=~\"$job\", instance=~\"$instance\"},node)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "BIG-IP partition",
+ "multi": true,
+ "name": "bigip_partition",
+ "options": [ ],
+ "query": "label_values(bigip_node_status_availability_state{job=~\"$job\", instance=~\"$instance\"},partition)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "BIG-IP node overview",
+ "uid": "bigip-node-overview",
+ "version": 0
+}
diff --git a/assets/f5-bigip/dashboards/bigip-pool-overview.json b/assets/f5-bigip/dashboards/bigip-pool-overview.json
new file mode 100644
index 0000000..d316e76
--- /dev/null
+++ b/assets/f5-bigip/dashboards/bigip-pool-overview.json
@@ -0,0 +1,1162 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "f5-bigip-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other BIG-IP dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The availability status of the pool.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "custom": {
+ "align": "left",
+ "cellOptions": {
+ "type": "color-text"
+ },
+ "inspect": false
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Unavailable"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Available"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "__name__"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "partition"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Instance"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "pool"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Pool"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Status"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": [ ],
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "bigip_pool_status_availability_state{job=~\"$job\", instance=~\"$instance\", pool=~\"$bigip_pool\", partition=~\"$bigip_partition\"}",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{pool}} - {{instance}}"
+ }
+ ],
+ "title": "Availability status",
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of requests made to the pool.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(bigip_pool_tot_requests{job=~\"$job\", instance=~\"$instance\", pool=~\"$bigip_pool\", partition=~\"$bigip_partition\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{pool}} - {{instance}}"
+ }
+ ],
+ "title": "Requests / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of active and minimum required members within the pool.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 24,
+ "x": 0,
+ "y": 5
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "bigip_pool_active_member_cnt{job=~\"$job\", instance=~\"$instance\", pool=~\"$bigip_pool\", partition=~\"$bigip_partition\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{pool}} - {{instance}} - active"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "bigip_pool_min_active_members{job=~\"$job\", instance=~\"$instance\", pool=~\"$bigip_pool\", partition=~\"$bigip_partition\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{pool}} - {{instance}} - minimum"
+ }
+ ],
+ "title": "Members",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The current and maximum number of node connections within the pool.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 24,
+ "x": 0,
+ "y": 10
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "bigip_pool_serverside_cur_conns{job=~\"$job\", instance=~\"$instance\", pool=~\"$bigip_pool\", partition=~\"$bigip_partition\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{pool}} - {{instance}} - current"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "bigip_pool_serverside_max_conns{job=~\"$job\", instance=~\"$instance\", pool=~\"$bigip_pool\", partition=~\"$bigip_partition\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{pool}} - {{instance}} - maximum"
+ }
+ ],
+ "title": "Connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The depth of connection queues within the pool, including the current depth.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 15
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "bigip_pool_connq_depth{job=~\"$job\", instance=~\"$instance\", pool=~\"$bigip_pool\", partition=~\"$bigip_partition\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{pool}} - {{instance}}"
+ }
+ ],
+ "title": "Connection queue depth",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of connections that have been serviced within the pool.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 15
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(bigip_pool_connq_serviced{job=~\"$job\", instance=~\"$instance\", pool=~\"$bigip_pool\", partition=~\"$bigip_partition\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{pool}} - {{instance}}"
+ }
+ ],
+ "title": "Connection queue serviced / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of date received from virtual servers by the pool.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(bigip_pool_serverside_bytes_in{job=~\"$job\", instance=~\"$instance\", pool=~\"$bigip_pool\", partition=~\"$bigip_partition\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{pool}} - {{instance}}"
+ }
+ ],
+ "title": "Traffic inbound",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of date sent from virtual servers by the pool.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(bigip_pool_serverside_bytes_out{job=~\"$job\", instance=~\"$instance\", pool=~\"$bigip_pool\", partition=~\"$bigip_partition\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{pool}} - {{instance}}"
+ }
+ ],
+ "title": "Traffic outbound",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of packets received from virtual servers by the pool.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(bigip_pool_serverside_pkts_out{job=~\"$job\", instance=~\"$instance\", pool=~\"$bigip_pool\", partition=~\"$bigip_partition\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{pool}} - {{instance}}"
+ }
+ ],
+ "title": "Packets inbound / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of packets sent from virtual servers by the pool.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(bigip_pool_serverside_pkts_out{job=~\"$job\", instance=~\"$instance\", pool=~\"$bigip_pool\", partition=~\"$bigip_partition\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{pool}} - {{instance}}"
+ }
+ ],
+ "title": "Packets outbound / $__interval",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "f5-bigip-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(bigip_pool_status_availability_state,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(bigip_pool_status_availability_state{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "BIG-IP pool",
+ "multi": true,
+ "name": "bigip_pool",
+ "options": [ ],
+ "query": "label_values(bigip_pool_status_availability_state{job=~\"$job\", instance=~\"$instance\"},pool)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "BIG-IP partition",
+ "multi": true,
+ "name": "bigip_partition",
+ "options": [ ],
+ "query": "label_values(bigip_pool_status_availability_state{job=~\"$job\", instance=~\"$instance\"},partition)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "BIG-IP pool overview",
+ "uid": "bigip-pool-overview",
+ "version": 0
+}
diff --git a/assets/f5-bigip/dashboards/bigip-virtual-server-overview.json b/assets/f5-bigip/dashboards/bigip-virtual-server-overview.json
new file mode 100644
index 0000000..ee78102
--- /dev/null
+++ b/assets/f5-bigip/dashboards/bigip-virtual-server-overview.json
@@ -0,0 +1,1445 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "f5-bigip-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other BIG-IP dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The availability status of the virtual server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "custom": {
+ "align": "left",
+ "cellOptions": {
+ "type": "color-text"
+ },
+ "inspect": false
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Unavailable"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Available"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "__name__"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "partition"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Instance"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "vs"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Virtual server"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Status"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": [ ],
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.0-60139",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "bigip_vs_status_availability_state{job=~\"$job\", instance=~\"$instance\", vs=~\"$bigip_virtual_server\", partition=~\"$bigip_partition\"}",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}}"
+ }
+ ],
+ "title": "Availability status",
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of requests made to the virtual server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 8,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "increase(bigip_vs_tot_requests{job=~\"$job\", instance=~\"$instance\", vs=~\"$bigip_virtual_server\", partition=~\"$bigip_partition\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}}"
+ }
+ ],
+ "title": "Requests / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The average connection duration within the virtual server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "bigip_vs_cs_mean_conn_dur{job=~\"$job\", instance=~\"$instance\", vs=~\"$bigip_virtual_server\", partition=~\"$bigip_partition\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}}"
+ }
+ ],
+ "title": "Average connection duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The evicted and current client-side connections within the virtual server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 24,
+ "x": 0,
+ "y": 5
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "bigip_vs_clientside_cur_conns{job=~\"$job\", instance=~\"$instance\", vs=~\"$bigip_virtual_server\", partition=~\"$bigip_partition\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}} - current"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "bigip_vs_clientside_max_conns{job=~\"$job\", instance=~\"$instance\", vs=~\"$bigip_virtual_server\", partition=~\"$bigip_partition\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}} - maximum"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "bigip_vs_clientside_evicted_conns{job=~\"$job\", instance=~\"$instance\", vs=~\"$bigip_virtual_server\", partition=~\"$bigip_partition\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}} - evicted"
+ }
+ ],
+ "title": "Connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The ephemeral evicted and current client-side connections within the virtual server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 24,
+ "x": 0,
+ "y": 10
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "bigip_vs_ephemeral_cur_conns{job=~\"$job\", instance=~\"$instance\", vs=~\"$bigip_virtual_server\", partition=~\"$bigip_partition\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}} - current"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "bigip_vs_ephemeral_max_conns{job=~\"$job\", instance=~\"$instance\", vs=~\"$bigip_virtual_server\", partition=~\"$bigip_partition\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}} - maximum"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "bigip_vs_ephemeral_evicted_conns{job=~\"$job\", instance=~\"$instance\", vs=~\"$bigip_virtual_server\", partition=~\"$bigip_partition\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}} - evicted"
+ }
+ ],
+ "title": "Ephemeral connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The rate of data received from clients by the virtual server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 15
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "rate(bigip_vs_clientside_bytes_in{job=~\"$job\", instance=~\"$instance\", vs=~\"$bigip_virtual_server\", partition=~\"$bigip_partition\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}}"
+ }
+ ],
+ "title": "Traffic inbound",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The rate of data sent from clients by the virtual server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 15
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "rate(bigip_vs_clientside_bytes_out{job=~\"$job\", instance=~\"$instance\", vs=~\"$bigip_virtual_server\", partition=~\"$bigip_partition\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}}"
+ }
+ ],
+ "title": "Traffic outbound",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The rate of ephemeral data received from clients by the virtual server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "rate(bigip_vs_ephemeral_bytes_in{job=~\"$job\", instance=~\"$instance\", vs=~\"$bigip_virtual_server\", partition=~\"$bigip_partition\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}}"
+ }
+ ],
+ "title": "Ephemeral traffic inbound",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The rate of ephemeral data sent from clients by the virtual server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "rate(bigip_vs_ephemeral_bytes_out{job=~\"$job\", instance=~\"$instance\", vs=~\"$bigip_virtual_server\", partition=~\"$bigip_partition\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}}"
+ }
+ ],
+ "title": "Ephemeral traffic outbound",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of packets received by the virtual server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "increase(bigip_vs_clientside_pkts_in{job=~\"$job\", instance=~\"$instance\", vs=~\"$bigip_virtual_server\", partition=~\"$bigip_partition\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}}"
+ }
+ ],
+ "title": "Packets inbound / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of packets sent by the virtual server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "increase(bigip_vs_clientside_pkts_out{job=~\"$job\", instance=~\"$instance\", vs=~\"$bigip_virtual_server\", partition=~\"$bigip_partition\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}}"
+ }
+ ],
+ "title": "Packets outbound / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of ephemeral packets received by the virtual server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 30
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "increase(bigip_vs_ephemeral_pkts_in{job=~\"$job\", instance=~\"$instance\", vs=~\"$bigip_virtual_server\", partition=~\"$bigip_partition\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}}"
+ }
+ ],
+ "title": "Ephemeral packets inbound / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of ephemeral packets sent by the virtual server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 30
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "increase(bigip_vs_ephemeral_pkts_out{job=~\"$job\", instance=~\"$instance\", vs=~\"$bigip_virtual_server\", partition=~\"$bigip_partition\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{vs}} - {{instance}}"
+ }
+ ],
+ "title": "Ephemeral packets outbound / $__interval",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "f5-bigip-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(bigip_vs_status_availability_state,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(bigip_vs_status_availability_state{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "BIG-IP virtual server",
+ "multi": true,
+ "name": "bigip_virtual_server",
+ "options": [ ],
+ "query": "label_values(bigip_vs_status_availability_state{job=~\"$job\", instance=~\"$instance\"},vs)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "BIG-IP partition",
+ "multi": true,
+ "name": "bigip_partition",
+ "options": [ ],
+ "query": "label_values(bigip_vs_status_availability_state{job=~\"$job\", instance=~\"$instance\"},partition)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "BIG-IP virtual server overview",
+ "uid": "bigip-virtual-server-overview",
+ "version": 0
+}
diff --git a/assets/f5-bigip/rules.yaml b/assets/f5-bigip/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/f5-bigip/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/gitlab/alerts.yaml b/assets/gitlab/alerts.yaml
new file mode 100644
index 0000000..a1f5d73
--- /dev/null
+++ b/assets/gitlab/alerts.yaml
@@ -0,0 +1,48 @@
+groups:
+- name: GitLabAlerts
+ rules:
+ - alert: GitLabHighJobRegistrationFailures
+ annotations:
+ description: '{{ printf "%.2f" $value }}% of job registrations have failed on
+ {{$labels.instance}}, which is above threshold of 10%.'
+ summary: Large percentage of failed attempts to register a job.
+ expr: "100 * rate(job_register_attempts_failed_total{}[5m]) / rate(job_register_attempts_total{}[5m])
+ \n> 10\n"
+ for: 5m
+ labels:
+ severity: warning
+ - alert: GitLabHighRunnerAuthFailure
+ annotations:
+ description: '{{ printf "%.2f" $value }}% of GitLab runner authentication attempts
+ are failing on {{$labels.instance}}, which is above the threshold of 10%.'
+ summary: Large percentage of runner authentication failures.
+ expr: "100 * sum by (instance) (rate(gitlab_ci_runner_authentication_failure_total{}[5m]))
+ \ / \n(sum by (instance) (rate(gitlab_ci_runner_authentication_success_total{}[5m]))
+ \ + sum by (instance) (rate(gitlab_ci_runner_authentication_failure_total{}[5m])))\n>
+ 10\n"
+ for: 5m
+ labels:
+ severity: warning
+ - alert: GitLabHigh5xxResponses
+ annotations:
+ description: '{{ printf "%.2f" $value }}% of all requests returned 5XX HTTP
+ responses, which is above the threshold 10%, indicating a system issue on
+ {{$labels.instance}}.'
+ summary: Large rate of HTTP 5XX errors.
+ expr: "100 * sum by (instance) (rate(http_requests_total{status=~\"^5.*\"}[5m]))
+ / sum by (instance) (rate(http_requests_total{}[5m])) \n> 10\n"
+ for: 5m
+ labels:
+ severity: critical
+ - alert: GitLabHigh4xxResponses
+ annotations:
+ description: '{{ printf "%.2f" $value }}% of all requests returned 4XX HTTP
+ responses, which is above the threshold 10%, indicating many failed requests
+ on {{$labels.instance}}.'
+ summary: Large rate of HTTP 4XX errors.
+ expr: |
+ 100 * sum by (instance) (rate(http_requests_total{status=~"^4.*"}[5m])) / sum by (instance) (rate(http_requests_total{}[5m]))
+ > 10
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/gitlab/dashboards/gitlab-overview.json b/assets/gitlab/dashboards/gitlab-overview.json
new file mode 100644
index 0000000..635530f
--- /dev/null
+++ b/assets/gitlab/dashboards/gitlab-overview.json
@@ -0,0 +1,889 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "Overview of a GitLab instance.",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [ ],
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "title": "Overview",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of HTTP traffic over time, grouped by status.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 1
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (status) (rate(http_requests_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{status}}"
+ }
+ ],
+ "title": "Traffic by Response Code",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of user logins.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "unit": "sessions/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 0,
+ "y": 10
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(user_session_logins_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "sessions"
+ }
+ ],
+ "title": "User Sessions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average latency of inbound HTTP requests.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 8,
+ "y": 10
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "1000 * rate(http_request_duration_seconds_sum{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) / rate(http_request_duration_seconds_count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{method}}"
+ }
+ ],
+ "title": "Average Request Latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top 5 types of requests to the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "left",
+ "displayMode": "auto",
+ "filterable": false,
+ "inspect": false
+ },
+ "decimals": 3,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Method"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 270
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 16,
+ "y": 10
+ },
+ "id": 6,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "frameIndex": 1,
+ "showHeader": true,
+ "sortBy": [ ]
+ },
+ "pluginVersion": "9.1.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (feature_category) (rate(http_requests_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Top 5 Request Types",
+ "transformations": [
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "Value": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "feature_category": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "groupby"
+ }
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": { },
+ "indexByName": { },
+ "renameByName": {
+ "Value (lastNotNull)": "Request rate",
+ "feature_category": "Feature category"
+ }
+ }
+ },
+ {
+ "id": "sortBy",
+ "options": {
+ "fields": { },
+ "sort": [
+ {
+ "desc": true,
+ "field": "Request rate"
+ }
+ ]
+ }
+ },
+ {
+ "id": "limit",
+ "options": {
+ "limitField": 5
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "The GitLab rails error logs.",
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 19
+ },
+ "id": 7,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": true,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{filename=\"/var/log/gitlab/gitlab-rails/exceptions_json.log\", job=~\"$job\", instance=~\"$instance\"} | json | line_format \"{{.severity}} {{.exception_class}} - {{.exception_message}}\"",
+ "legendFormat": "",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Error Logs",
+ "transformations": [ ],
+ "type": "logs"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "id": 8,
+ "title": "Pipeline Activity",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of jobs activated per second.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "unit": "activations/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(gitlab_ci_active_jobs_sum{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{plan}}"
+ }
+ ],
+ "title": "Job Activations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of pipeline instances created.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "unit": "pipelines/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 37
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(pipelines_created_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{source}}"
+ }
+ ],
+ "title": "Pipelines Created",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of builds created within a pipeline per second, grouped by source.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "unit": "builds/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 37
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (source) (rate(gitlab_ci_pipeline_size_builds_sum{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{source}}"
+ }
+ ],
+ "title": "Pipeline Builds Created",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of build trace operations performed, grouped by source.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 45
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(gitlab_ci_trace_operations_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{operation}}"
+ }
+ ],
+ "title": "Build Trace Operations",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "gitlab-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(gitlab_rails_boot_time_seconds{}, job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(gitlab_rails_boot_time_seconds{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(gitlab_rails_boot_time_seconds{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki Datasource",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "GitLab Overview",
+ "uid": "gitlab-overview",
+ "version": 0
+}
diff --git a/assets/gitlab/rules.yaml b/assets/gitlab/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/gitlab/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/go-runtime/alerts.yaml b/assets/go-runtime/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/go-runtime/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/go-runtime/dashboards/go-runtime.json b/assets/go-runtime/dashboards/go-runtime.json
new file mode 100644
index 0000000..4fefe6b
--- /dev/null
+++ b/assets/go-runtime/dashboards/go-runtime.json
@@ -0,0 +1,1129 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Go runtime metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 2,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Average total bytes of memory reserved across all process instances of a job.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 16,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.3.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg by(job)(go_memstats_sys_bytes{job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "{{job}} (avg)",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Reserved Memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Average stack memory usage across all instances of a job.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 24,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.3.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg by (job) (go_memstats_stack_sys_bytes{job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "{{job}}: stack inuse (avg)",
+ "refId": "A"
+ }
+ ],
+ "title": "Stack Memory Use",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Average memory reservations by the runtime, not for stack or heap, across all instances of a job.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 26,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.3.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg by (job)(go_memstats_mspan_sys_bytes{job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "{{job}}: mspan (avg)",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg by (job)(go_memstats_mcache_sys_bytes{job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "{{job}}: mcache (avg)",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg by (job)(go_memstats_buck_hash_sys_bytes{job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "{{job}}: buck hash (avg)",
+ "refId": "E"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg by (job)(go_memstats_gc_sys_bytes{job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "{{job}}: gc (avg)",
+ "refId": "F"
+ }
+ ],
+ "title": "Other Memory Reservations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Average memory reserved, and actually in use, by the heap, across all instances of a job.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 12,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.3.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg by (job)(go_memstats_heap_sys_bytes{job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "{{job}}: heap reserved (avg)",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg by (job)(go_memstats_heap_inuse_bytes{job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "{{job}}: heap in use (avg)",
+ "refId": "A"
+ }
+ ],
+ "title": "Heap Memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Average allocation rate in bytes per second, across all instances of a job.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 4,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "always",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 14,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.3.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg by (job)(rate(go_memstats_alloc_bytes_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{job}}: bytes malloced/s (avg)",
+ "refId": "A"
+ }
+ ],
+ "title": "Allocation Rate, Bytes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Average rate of heap object allocation, across all instances of a job.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 20,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.3.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "rate(go_memstats_mallocs_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "{{job}}: obj mallocs/s (avg)",
+ "refId": "A"
+ }
+ ],
+ "title": "Heap Object Allocation Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Average number of live memory objects across all instances of a job.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 22,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.3.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg by(job)(go_memstats_mallocs_total{job=~\"$job\", instance=~\"$instance\"} - go_memstats_frees_total{job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "{{job}}: object count (avg)",
+ "refId": "A"
+ }
+ ],
+ "title": "Number of Live Objects",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Average number of goroutines across instances of a job.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 8,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.3.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg by (job)(go_goroutines{job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "{{job}}: goroutine count (avg)",
+ "refId": "A"
+ }
+ ],
+ "title": "Goroutines",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The min and max Garbage Collector duration in seconds.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "id": 4,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.3.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg by (job)(go_gc_duration_seconds{quantile=\"0\", job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "{{job}}: min gc time (avg)",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg by (job)(go_gc_duration_seconds{quantile=\"1\", job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "{{job}}: max gc time (avg)",
+ "refId": "B"
+ }
+ ],
+ "title": "GC min & max duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The number used bytes at which the runtime plans to perform the next GC, averaged across all instances of a job.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 32
+ },
+ "id": 27,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.3.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg by (job)(go_memstats_next_gc_bytes{job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "{{job}}: next gc bytes (avg)",
+ "refId": "A"
+ }
+ ],
+ "title": "Next GC, Bytes",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 37,
+ "style": "dark",
+ "tags": [
+ "go-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(go_info, job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(go_info, job)",
+ "refId": "grafanacloud-k3d-prom-job-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(go_info{job=~\"$job\"}, instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(go_info{job=~\"$job\"}, instance)",
+ "refId": "grafanacloud-k3d-prom-instance-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Go runtime metrics",
+ "uid": "CgCw8jKZz3",
+ "version": 1,
+ "weekStart": ""
+}
diff --git a/assets/go-runtime/rules.yaml b/assets/go-runtime/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/go-runtime/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/haproxy/alerts.yaml b/assets/haproxy/alerts.yaml
new file mode 100644
index 0000000..f8b5066
--- /dev/null
+++ b/assets/haproxy/alerts.yaml
@@ -0,0 +1,29 @@
+groups:
+- name: HAProxyAlerts
+ rules:
+ - alert: HAProxyDroppingLogs
+ annotations:
+ description: HAProxy {{$labels.job}} on {{$labels.instance}} is dropping logs.
+ summary: HAProxy is dropping logs.
+ expr: rate(haproxy_process_dropped_logs_total[5m]) != 0
+ for: 5s
+ labels:
+ severity: critical
+ - alert: HAProxyBackendCheckFlapping
+ annotations:
+ description: HAProxy {{$labels.job}} backend {{$labels.proxy}} on {{$labels.instance}}
+ has flapping checks.
+ summary: HAProxy backend checks are flapping.
+ expr: rate(haproxy_backend_check_up_down_total[5m]) != 0
+ for: 1m
+ labels:
+ severity: critical
+ - alert: HAProxyServerCheckFlapping
+ annotations:
+ description: HAProxy {{$labels.job}} server {{$labels.server}} on {{$labels.instance}}
+ has flapping checks.
+ summary: HAProxy server checks are flapping.
+ expr: rate(haproxy_server_check_up_down_total[5m]) != 0
+ for: 1m
+ labels:
+ severity: critical
diff --git a/assets/haproxy/dashboards/haproxy-backend.json b/assets/haproxy/dashboards/haproxy-backend.json
new file mode 100644
index 0000000..f86848a
--- /dev/null
+++ b/assets/haproxy/dashboards/haproxy-backend.json
@@ -0,0 +1,708 @@
+{
+ "editable": true,
+ "graphTooltip": 0,
+ "panels": [
+ {
+ "collapse": true,
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 0,
+ "showTitle": true,
+ "title": "Servers",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "datasource": "$datasource",
+ "title": "Server",
+ "url": "/d/HAProxyServer/haproxy-server?${__all_variables}&var-server=${__data.fields.Server}"
+ }
+ ]
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Status"
+ },
+ "properties": [
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "id": 1,
+ "text": "Down",
+ "type": 1,
+ "value": "0"
+ },
+ {
+ "id": 2,
+ "text": "Up",
+ "type": 1,
+ "value": "1"
+ }
+ ]
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-background"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(0,0,0,0)",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "options": {
+ "sortBy": [
+ {
+ "desc": false,
+ "displayName": "Status"
+ }
+ ]
+ },
+ "targets": [
+ {
+ "expr": "haproxy_server_status{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\"}",
+ "format": "table",
+ "instant": true,
+ "refID": "A"
+ }
+ ],
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "__name__": true
+ },
+ "renameByName": {
+ "Value": "Status",
+ "instance": "Instance",
+ "job": "Job",
+ "proxy": "Backend",
+ "server": "Server"
+ }
+ }
+ }
+ ],
+ "transparent": false,
+ "type": "table"
+ },
+ {
+ "collapse": true,
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 1
+ },
+ "id": 2,
+ "showTitle": true,
+ "title": "Requests",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "HTTP requests per second. There will be no data for backends using tcp mode.",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "reqps"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 1
+ },
+ "hiddenSeries": false,
+ "id": 3,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(haproxy_backend_http_requests_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}",
+ "refID": "A"
+ }
+ ],
+ "title": "HTTP",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "min": 0
+ },
+ {
+ "min": 0
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Attempted connections per second",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "connps"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 1
+ },
+ "hiddenSeries": false,
+ "id": 4,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(haproxy_backend_connection_attempts_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}",
+ "refID": "A"
+ }
+ ],
+ "title": "Connection",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "min": 0
+ },
+ {
+ "min": 0
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "bytes"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 1
+ },
+ "hiddenSeries": false,
+ "id": 5,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "/.*out.*/",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(haproxy_backend_bytes_in_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}:in",
+ "refID": "A"
+ },
+ {
+ "expr": "rate(haproxy_backend_bytes_out_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}:out",
+ "refID": "B"
+ }
+ ],
+ "title": "Bytes in/out",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph"
+ },
+ {
+ "collapse": true,
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 2
+ },
+ "id": 6,
+ "showTitle": true,
+ "title": "Errors",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "HTTP response errors per second",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "errps"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 2
+ },
+ "hiddenSeries": false,
+ "id": 7,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(haproxy_backend_response_errors_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}",
+ "refID": "A"
+ }
+ ],
+ "title": "HTTP",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "min": 0
+ },
+ {
+ "min": 0
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Connection errors per second",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "errps"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 2
+ },
+ "hiddenSeries": false,
+ "id": 8,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(haproxy_backend_connection_errors_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}",
+ "refID": "A"
+ }
+ ],
+ "title": "Connection",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "min": 0
+ },
+ {
+ "min": 0
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Internal errors per second",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "errps"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 2
+ },
+ "hiddenSeries": false,
+ "id": 9,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(haproxy_backend_internal_errors_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}",
+ "refID": "A"
+ }
+ ],
+ "title": "Internal",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "min": 0
+ },
+ {
+ "min": 0
+ }
+ ]
+ },
+ {
+ "collapse": true,
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 3
+ },
+ "id": 10,
+ "showTitle": true,
+ "title": "Duration",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Average duration for last 1024 successful connections",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "s"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 3
+ },
+ "hiddenSeries": false,
+ "id": 11,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "haproxy_backend_queue_time_average_seconds{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\"}",
+ "legendFormat": "{{proxy}}:avg queue time",
+ "refID": "A"
+ },
+ {
+ "expr": "haproxy_backend_connect_time_average_seconds{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\"}",
+ "legendFormat": "{{proxy}}:avg connect time",
+ "refID": "B"
+ },
+ {
+ "expr": "haproxy_backend_response_time_average_seconds{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\"}",
+ "legendFormat": "{{proxy}}:avg response time",
+ "refID": "C"
+ },
+ {
+ "expr": "haproxy_backend_total_time_average_seconds{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\"}",
+ "legendFormat": "{{proxy}}:avg total time",
+ "refID": "D"
+ }
+ ],
+ "title": "Average duration",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "min": 0
+ },
+ {
+ "min": 0
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Max duration for last 1024 successful connections",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "s"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 3
+ },
+ "hiddenSeries": false,
+ "id": 12,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "haproxy_backend_max_queue_time_seconds{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\"}",
+ "legendFormat": "{{proxy}}:max queue time",
+ "refID": "A"
+ },
+ {
+ "expr": "haproxy_backend_max_connect_time_seconds{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\"}",
+ "legendFormat": "{{proxy}}:max connect time",
+ "refID": "B"
+ },
+ {
+ "expr": "haproxy_backend_max_response_time_seconds{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\"}",
+ "legendFormat": "{{proxy}}:max response time",
+ "refID": "C"
+ },
+ {
+ "expr": "haproxy_backend_max_total_time_seconds{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\"}",
+ "legendFormat": "{{proxy}}:max total time",
+ "refID": "D"
+ }
+ ],
+ "title": "Max duration",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "min": 0
+ },
+ {
+ "min": 0
+ }
+ ]
+ }
+ ],
+ "schemaVersion": 25,
+ "style": "dark",
+ "tags": [ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "datasource",
+ "query": "prometheus",
+ "refresh": 1,
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "datasource": "$datasource",
+ "definition": "label_values(haproxy_process_start_time_seconds, job)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "job",
+ "query": "label_values(haproxy_process_start_time_seconds, job)",
+ "refresh": 1,
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "datasource": "$datasource",
+ "definition": "label_values(haproxy_process_start_time_seconds{job=~\"$job\"}, instance)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "instance",
+ "query": "label_values(haproxy_process_start_time_seconds{job=~\"$job\"}, instance)",
+ "refresh": 1,
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "datasource": "$datasource",
+ "definition": "label_values(haproxy_backend_status{job=~\"$job\",instance=~\"$instance\"}, proxy)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "backend",
+ "query": "label_values(haproxy_backend_status{job=~\"$job\",instance=~\"$instance\"}, proxy)",
+ "refresh": 1,
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "hidden": false,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "title": "HAProxy / Backend",
+ "uid": "HAProxyBackend"
+}
diff --git a/assets/haproxy/dashboards/haproxy-frontend.json b/assets/haproxy/dashboards/haproxy-frontend.json
new file mode 100644
index 0000000..a87946f
--- /dev/null
+++ b/assets/haproxy/dashboards/haproxy-frontend.json
@@ -0,0 +1,384 @@
+{
+ "editable": true,
+ "graphTooltip": 0,
+ "panels": [
+ {
+ "collapse": true,
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 0,
+ "showTitle": true,
+ "title": "Requests",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "HTTP requests per second",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "reqps"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 0
+ },
+ "hiddenSeries": false,
+ "id": 1,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(haproxy_frontend_http_requests_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$frontend\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}",
+ "refID": "A"
+ }
+ ],
+ "title": "HTTP",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "min": 0
+ },
+ {
+ "min": 0
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Connections per second",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "connps"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 0
+ },
+ "hiddenSeries": false,
+ "id": 2,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(haproxy_frontend_connections_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$frontend\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}",
+ "refID": "A"
+ }
+ ],
+ "title": "Connections",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "min": 0
+ },
+ {
+ "min": 0
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "bytes"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "hiddenSeries": false,
+ "id": 3,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "/.*out.*/",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(haproxy_frontend_bytes_in_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$frontend\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}:in",
+ "refID": "A"
+ },
+ {
+ "expr": "rate(haproxy_frontend_bytes_out_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$frontend\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}:out",
+ "refID": "B"
+ }
+ ],
+ "title": "Bytes in/out",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph"
+ },
+ {
+ "collapse": true,
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 1
+ },
+ "id": 4,
+ "showTitle": true,
+ "title": "Errors",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Request errors per second",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "errps"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 1
+ },
+ "hiddenSeries": false,
+ "id": 5,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(haproxy_frontend_request_errors_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$frontend\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}",
+ "refID": "A"
+ }
+ ],
+ "title": "Requests",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "min": 0
+ },
+ {
+ "min": 0
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Internal errors per second",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "errps"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 1
+ },
+ "hiddenSeries": false,
+ "id": 6,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(haproxy_frontend_internal_errors_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$frontend\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}",
+ "refID": "A"
+ }
+ ],
+ "title": "Internal",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "min": 0
+ },
+ {
+ "min": 0
+ }
+ ]
+ }
+ ],
+ "schemaVersion": 25,
+ "style": "dark",
+ "tags": [ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "datasource",
+ "query": "prometheus",
+ "refresh": 1,
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "datasource": "$datasource",
+ "definition": "label_values(haproxy_process_start_time_seconds, job)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "job",
+ "query": "label_values(haproxy_process_start_time_seconds, job)",
+ "refresh": 1,
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "datasource": "$datasource",
+ "definition": "label_values(haproxy_process_start_time_seconds{job=~\"$job\"}, instance)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "instance",
+ "query": "label_values(haproxy_process_start_time_seconds{job=~\"$job\"}, instance)",
+ "refresh": 1,
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "datasource": "$datasource",
+ "definition": "label_values(haproxy_frontend_status{job=~\"$job\",instance=~\"$instance\"}, proxy)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "frontend",
+ "query": "label_values(haproxy_frontend_status{job=~\"$job\",instance=~\"$instance\"}, proxy)",
+ "refresh": 1,
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "hidden": false,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "title": "HAProxy / Frontend",
+ "uid": "HAProxyFrontend"
+}
diff --git a/assets/haproxy/dashboards/haproxy-overview.json b/assets/haproxy/dashboards/haproxy-overview.json
new file mode 100644
index 0000000..82f3b42
--- /dev/null
+++ b/assets/haproxy/dashboards/haproxy-overview.json
@@ -0,0 +1,904 @@
+{
+ "editable": true,
+ "graphTooltip": 0,
+ "panels": [
+ {
+ "collapse": true,
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 0,
+ "showTitle": true,
+ "title": "Headline",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Process uptime",
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "targets": [
+ {
+ "expr": "time() - haproxy_process_start_time_seconds{instance=~\"$instance\",job=~\"$job\"}",
+ "refID": "A"
+ }
+ ],
+ "title": "Uptime",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Number of active sessions",
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 6,
+ "y": 0
+ },
+ "id": 2,
+ "targets": [
+ {
+ "expr": "haproxy_process_current_connections{instance=~\"$instance\",job=~\"$job\"}",
+ "refID": "A"
+ }
+ ],
+ "title": "Current connections",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Total amount of memory allocated in pools",
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "targets": [
+ {
+ "expr": "haproxy_process_pool_allocated_bytes{instance=~\"$instance\",job=~\"$job\"}",
+ "refID": "A"
+ }
+ ],
+ "title": "Memory allocated",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Total amount of memory used in pools",
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 18,
+ "y": 0
+ },
+ "id": 4,
+ "targets": [
+ {
+ "expr": "haproxy_process_pool_used_bytes{instance=~\"$instance\",job=~\"$job\"}",
+ "refID": "A"
+ }
+ ],
+ "title": "Memory used",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "collapse": true,
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 1
+ },
+ "id": 5,
+ "showTitle": true,
+ "title": "Frontend",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "datasource": "$datasource",
+ "title": "Frontend",
+ "url": "/d/HAProxyFrontend/haproxy-frontend?${__all_variables}&var-frontend=${__data.fields.Frontend}"
+ }
+ ]
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Status"
+ },
+ "properties": [
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "id": 1,
+ "text": "Down",
+ "type": 1,
+ "value": "0"
+ },
+ {
+ "id": 2,
+ "text": "Up",
+ "type": 1,
+ "value": "1"
+ }
+ ]
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-background"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(0,0,0,0)",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 1
+ },
+ "id": 6,
+ "options": {
+ "sortBy": [
+ {
+ "desc": false,
+ "displayName": "Status"
+ }
+ ]
+ },
+ "targets": [
+ {
+ "expr": "haproxy_frontend_status{instance=~\"$instance\",job=~\"$job\"}",
+ "format": "table",
+ "instant": true,
+ "refID": "A"
+ }
+ ],
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "__name__": true
+ },
+ "renameByName": {
+ "Value": "Status",
+ "instance": "Instance",
+ "job": "Job",
+ "proxy": "Frontend"
+ }
+ }
+ }
+ ],
+ "transparent": false,
+ "type": "table"
+ },
+ {
+ "collapse": true,
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 2
+ },
+ "id": 7,
+ "showTitle": true,
+ "title": "Backend",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "datasource": "$datasource",
+ "title": "Backend",
+ "url": "/d/HAProxyBackend/haproxy-backend?${__all_variables}&var-backend=${__data.fields.Backend}"
+ }
+ ]
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Status"
+ },
+ "properties": [
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "id": 1,
+ "text": "Down",
+ "type": 1,
+ "value": "0"
+ },
+ {
+ "id": 2,
+ "text": "Up",
+ "type": 1,
+ "value": "1"
+ }
+ ]
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-background"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(0,0,0,0)",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 2
+ },
+ "id": 8,
+ "targets": [
+ {
+ "expr": "haproxy_backend_status{instance=~\"$instance\",job=~\"$job\"}",
+ "format": "table",
+ "instant": true,
+ "refID": "A"
+ }
+ ],
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "__name__": true
+ },
+ "renameByName": {
+ "Value": "Status",
+ "instance": "Instance",
+ "job": "Job",
+ "proxy": "Backend"
+ }
+ }
+ }
+ ],
+ "transparent": false,
+ "type": "table"
+ },
+ {
+ "collapse": true,
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 3
+ },
+ "id": 9,
+ "showTitle": true,
+ "title": "Configuration",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Configured number of processes",
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 0,
+ "y": 3
+ },
+ "id": 10,
+ "options": {
+ "graphMode": "none"
+ },
+ "targets": [
+ {
+ "expr": "haproxy_process_nbproc{instance=~\"$instance\",job=~\"$job\"}",
+ "refID": "A"
+ }
+ ],
+ "title": "Processes",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Configured number of threads",
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 6,
+ "y": 3
+ },
+ "id": 11,
+ "options": {
+ "graphMode": "none"
+ },
+ "targets": [
+ {
+ "expr": "haproxy_process_nbthread{instance=~\"$instance\",job=~\"$job\"}",
+ "refID": "A"
+ }
+ ],
+ "title": "Threads",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Configured maximum number of concurrent connections",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "id": 1,
+ "text": "unset",
+ "type": 1,
+ "value": 0
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 12,
+ "y": 3
+ },
+ "id": 12,
+ "options": {
+ "graphMode": "none"
+ },
+ "targets": [
+ {
+ "expr": "haproxy_process_max_connections{instance=~\"$instance\",job=~\"$job\"}",
+ "refID": "A"
+ }
+ ],
+ "title": "Connections limit",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Maximum number of open file descriptors",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "id": 1,
+ "text": "unset",
+ "type": 1,
+ "value": 0
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 18,
+ "y": 3
+ },
+ "id": 13,
+ "options": {
+ "graphMode": "none"
+ },
+ "targets": [
+ {
+ "expr": "haproxy_process_max_fds{instance=~\"$instance\",job=~\"$job\"}",
+ "refID": "A"
+ }
+ ],
+ "title": "File descriptors limit",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Maximum number of open sockets",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "id": 1,
+ "text": "unset",
+ "type": 1,
+ "value": 0
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 0,
+ "y": 7
+ },
+ "id": 14,
+ "options": {
+ "graphMode": "none"
+ },
+ "targets": [
+ {
+ "expr": "haproxy_process_max_sockets{instance=~\"$instance\",job=~\"$job\"}",
+ "refID": "A"
+ }
+ ],
+ "title": "Socket limit",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Per-process memory limit",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "id": 1,
+ "text": "unset",
+ "type": 1,
+ "value": 0
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 6,
+ "y": 7
+ },
+ "id": 15,
+ "options": {
+ "graphMode": "none"
+ },
+ "targets": [
+ {
+ "expr": "haproxy_process_max_memory_bytes{instance=~\"$instance\",job=~\"$job\"}",
+ "refID": "A"
+ }
+ ],
+ "title": "Memory limit",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Maximum number of pipes",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "id": 1,
+ "text": "unset",
+ "type": 1,
+ "value": 0
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 12,
+ "y": 7
+ },
+ "id": 16,
+ "options": {
+ "graphMode": "none"
+ },
+ "targets": [
+ {
+ "expr": "haproxy_process_max_pipes{instance=~\"$instance\",job=~\"$job\"}",
+ "refID": "A"
+ }
+ ],
+ "title": "Pipe limit",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Maximum number of connections per second",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "id": 1,
+ "text": "unset",
+ "type": 1,
+ "value": 0
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 18,
+ "y": 7
+ },
+ "id": 17,
+ "options": {
+ "graphMode": "none"
+ },
+ "targets": [
+ {
+ "expr": "haproxy_process_limit_connection_rate{instance=~\"$instance\",job=~\"$job\"}",
+ "refID": "A"
+ }
+ ],
+ "title": "Connection rate limit",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Maximum number of sessions per second",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "id": 1,
+ "text": "unset",
+ "type": 1,
+ "value": 0
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 0,
+ "y": 11
+ },
+ "id": 18,
+ "options": {
+ "graphMode": "none"
+ },
+ "targets": [
+ {
+ "expr": "haproxy_process_limit_session_rate{instance=~\"$instance\",job=~\"$job\"}",
+ "refID": "A"
+ }
+ ],
+ "title": "Session rate limit",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Maximum number of SSL sessions per second",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "id": 1,
+ "text": "unset",
+ "type": 1,
+ "value": 0
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 6,
+ "y": 11
+ },
+ "id": 19,
+ "options": {
+ "graphMode": "none"
+ },
+ "targets": [
+ {
+ "expr": "haproxy_process_limit_ssl_rate{instance=~\"$instance\",job=~\"$job\"}",
+ "refID": "A"
+ }
+ ],
+ "title": "SSL session rate limit",
+ "transparent": false,
+ "type": "stat"
+ }
+ ],
+ "schemaVersion": 25,
+ "style": "dark",
+ "tags": [ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "datasource",
+ "query": "prometheus",
+ "refresh": 1,
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "datasource": "$datasource",
+ "definition": "label_values(haproxy_process_start_time_seconds, job)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "job",
+ "query": "label_values(haproxy_process_start_time_seconds, job)",
+ "refresh": 1,
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "datasource": "$datasource",
+ "definition": "label_values(haproxy_process_start_time_seconds{job=~\"$job\"}, instance)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "instance",
+ "query": "label_values(haproxy_process_start_time_seconds{job=~\"$job\"}, instance)",
+ "refresh": 1,
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "hidden": false,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "title": "HAProxy / Overview",
+ "uid": "HAProxyOverview"
+}
diff --git a/assets/haproxy/dashboards/haproxy-server.json b/assets/haproxy/dashboards/haproxy-server.json
new file mode 100644
index 0000000..93d0f40
--- /dev/null
+++ b/assets/haproxy/dashboards/haproxy-server.json
@@ -0,0 +1,599 @@
+{
+ "editable": true,
+ "graphTooltip": 0,
+ "panels": [
+ {
+ "collapse": true,
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 0,
+ "showTitle": true,
+ "title": "Requests",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "HTTP responses per second. There will be no data for servers using tcp mode.",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "reqps"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 0
+ },
+ "hiddenSeries": false,
+ "id": 1,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(haproxy_server_http_responses_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\",server=~\"$server\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}:{{code}}",
+ "refID": "A"
+ }
+ ],
+ "title": "HTTP Response",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "min": 0
+ },
+ {
+ "min": 0
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Attempted connections per second",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "connps"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 0
+ },
+ "hiddenSeries": false,
+ "id": 2,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(haproxy_server_connection_attempts_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\",server=~\"$server\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}",
+ "refID": "A"
+ }
+ ],
+ "title": "Connection",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "min": 0
+ },
+ {
+ "min": 0
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "bytes"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "hiddenSeries": false,
+ "id": 3,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "/.*out.*/",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(haproxy_server_bytes_in_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\",server=~\"$server\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}:{{server}}:in",
+ "refID": "A"
+ },
+ {
+ "expr": "rate(haproxy_server_bytes_out_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\",server=~\"$server\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}:{{server}}:out",
+ "refID": "B"
+ }
+ ],
+ "title": "Bytes in/out",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph"
+ },
+ {
+ "collapse": true,
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 1
+ },
+ "id": 4,
+ "showTitle": true,
+ "title": "Errors",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Response errors per second",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "errps"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 1
+ },
+ "hiddenSeries": false,
+ "id": 5,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(haproxy_server_response_errors_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\",server=~\"$server\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}",
+ "refID": "A"
+ }
+ ],
+ "title": "HTTP Response",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "min": 0
+ },
+ {
+ "min": 0
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Connection errors per second",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "errps"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 1
+ },
+ "hiddenSeries": false,
+ "id": 6,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(haproxy_server_connection_errors_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\",server=~\"$server\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}",
+ "refID": "A"
+ }
+ ],
+ "title": "Connection",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "min": 0
+ },
+ {
+ "min": 0
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Internal errors per second",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "errps"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 1
+ },
+ "hiddenSeries": false,
+ "id": 7,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(haproxy_server_internal_errors_total{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\",server=~\"$server\"}[$__rate_interval])",
+ "legendFormat": "{{proxy}}",
+ "refID": "A"
+ }
+ ],
+ "title": "Internal",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "min": 0
+ },
+ {
+ "min": 0
+ }
+ ]
+ },
+ {
+ "collapse": true,
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 2
+ },
+ "id": 8,
+ "showTitle": true,
+ "title": "Duration",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Average duration for last 1024 succesful connections",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "s"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 2
+ },
+ "hiddenSeries": false,
+ "id": 9,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "haproxy_server_queue_time_average_seconds{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\",server=~\"$server\"}",
+ "legendFormat": "{{proxy}}:avg queue time",
+ "refID": "A"
+ },
+ {
+ "expr": "haproxy_server_connect_time_average_seconds{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\",server=~\"$server\"}",
+ "legendFormat": "{{proxy}}:avg connect time",
+ "refID": "B"
+ },
+ {
+ "expr": "haproxy_server_response_time_average_seconds{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\",server=~\"$server\"}",
+ "legendFormat": "{{proxy}}:avg response time",
+ "refID": "C"
+ },
+ {
+ "expr": "haproxy_server_total_time_average_seconds{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\",server=~\"$server\"}",
+ "legendFormat": "{{proxy}}:avg total time",
+ "refID": "D"
+ }
+ ],
+ "title": "Average duration",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "min": 0
+ },
+ {
+ "min": 0
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Max duration for last 1024 succesful connections",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "s"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 2
+ },
+ "hiddenSeries": false,
+ "id": 10,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "haproxy_server_max_queue_time_seconds{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\",server=~\"$server\"}",
+ "legendFormat": "{{proxy}}:max queue time",
+ "refID": "A"
+ },
+ {
+ "expr": "haproxy_server_max_connect_time_seconds{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\",server=~\"$server\"}",
+ "legendFormat": "{{proxy}}:max connect time",
+ "refID": "B"
+ },
+ {
+ "expr": "haproxy_server_max_response_time_seconds{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\",server=~\"$server\"}",
+ "legendFormat": "{{proxy}}:max response time",
+ "refID": "C"
+ },
+ {
+ "expr": "haproxy_server_max_total_time_seconds{instance=~\"$instance\",job=~\"$job\",proxy=~\"$backend\",server=~\"$server\"}",
+ "legendFormat": "{{proxy}}:max total time",
+ "refID": "D"
+ }
+ ],
+ "title": "Max duration",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "min": 0
+ },
+ {
+ "min": 0
+ }
+ ]
+ }
+ ],
+ "schemaVersion": 25,
+ "style": "dark",
+ "tags": [ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "datasource",
+ "query": "prometheus",
+ "refresh": 1,
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "datasource": "$datasource",
+ "definition": "label_values(haproxy_process_start_time_seconds, job)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "job",
+ "query": "label_values(haproxy_process_start_time_seconds, job)",
+ "refresh": 1,
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "datasource": "$datasource",
+ "definition": "label_values(haproxy_process_start_time_seconds{job=~\"$job\"}, instance)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "instance",
+ "query": "label_values(haproxy_process_start_time_seconds{job=~\"$job\"}, instance)",
+ "refresh": 1,
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "datasource": "$datasource",
+ "definition": "label_values(haproxy_backend_status{job=~\"$job\",instance=~\"$instance\"}, proxy)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "backend",
+ "query": "label_values(haproxy_backend_status{job=~\"$job\",instance=~\"$instance\"}, proxy)",
+ "refresh": 1,
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "datasource": "$datasource",
+ "definition": "label_values(haproxy_server_status{job=~\"$job\",instance=~\"$instance\"}, server)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": true,
+ "name": "server",
+ "query": "label_values(haproxy_server_status{job=~\"$job\",instance=~\"$instance\"}, server)",
+ "refresh": 1,
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "hidden": false,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "title": "HAProxy / Server",
+ "uid": "HAProxyServer"
+}
diff --git a/assets/haproxy/rules.yaml b/assets/haproxy/rules.yaml
new file mode 100644
index 0000000..2ae2220
--- /dev/null
+++ b/assets/haproxy/rules.yaml
@@ -0,0 +1 @@
+groups: []
diff --git a/assets/harbor/alerts.yaml b/assets/harbor/alerts.yaml
new file mode 100644
index 0000000..8f1d00e
--- /dev/null
+++ b/assets/harbor/alerts.yaml
@@ -0,0 +1,32 @@
+groups:
+- name: Harbor
+ rules:
+ - alert: HarborComponentStatus
+ annotations:
+ description: Harbor {{ $labels.component }} has been down for more than 5 minutes
+ summary: Harbor Component is Down.
+ expr: |
+ harbor_up == 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: HarborProjectQuataExceeded
+ annotations:
+ description: Harbor project {{ $labels.project_name }} has exceeded the configured
+ disk usage quota for the past 15 minutes
+ summary: Harbor project exceeds disk usage quota.
+ expr: |
+ harbor_project_quota_usage_byte > harbor_project_quota_byte and on(harbor_project_quota_usage_byte) harbor_project_quota_byte != -1
+ for: 15m
+ labels:
+ severity: warning
+ - alert: HarborHighErrorRate
+ annotations:
+ description: HTTP Requests of {{ $labels.instance }} are having a high Error
+ rate
+ summary: Harbor high error rate.
+ expr: sum(rate(harbor_core_http_request_total{code=~"4..|5.."}[5m]))/sum(rate(harbor_core_http_request_total[5m]))
+ > 0.15
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/harbor/dashboards/harbor-overview.json b/assets/harbor/dashboards/harbor-overview.json
new file mode 100644
index 0000000..e8514df
--- /dev/null
+++ b/assets/harbor/dashboards/harbor-overview.json
@@ -0,0 +1,2485 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 83,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 37,
+ "links": [ ],
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "# ![harborimage](https://goharbor.io/img/logos/harbor-horizontal-color.png)",
+ "mode": "markdown"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Current status of Harbor components",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-greens"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Stopped"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Running"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 20,
+ "x": 4,
+ "y": 0
+ },
+ "id": 10,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "color"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "harbor_up{job=~\"$job\", cluster=~\"$cluster\"}",
+ "format": "time_series",
+ "instant": false,
+ "legendFormat": "{{component}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Version information about your Harbor instance\t",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "align": "center",
+ "cellOptions": {
+ "mode": "gradient",
+ "type": "color-background"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "string"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 118
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 3
+ },
+ "id": 9,
+ "options": {
+ "cellHeight": "lg",
+ "footer": {
+ "countRows": false,
+ "enablePagination": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": false,
+ "sortBy": [
+ {
+ "desc": false,
+ "displayName": "Harbor Version"
+ }
+ ]
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "max(harbor_system_info{job=~\"$job\", cluster=~\"$cluster\"}) by (harbor_version)",
+ "format": "table",
+ "legendFormat": "",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Harbor Version",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Value": true
+ },
+ "indexByName": { },
+ "renameByName": {
+ "harbor_version": "Harbor Version"
+ }
+ }
+ }
+ ],
+ "transparent": true,
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Total number of public and private projects",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlPu"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 6
+ },
+ "id": 1,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(harbor_project_total{job=~\"$job\", cluster=~\"$cluster\"})",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Projects",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Total number of images in Harbor",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlPu"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 4,
+ "y": 6
+ },
+ "id": 6,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(harbor_project_artifact_total{job=~\"$job\", artifact_type=\"IMAGE\", cluster=~\"$cluster\"})",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Images",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Total number of Charts in Harbor",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlPu"
+ },
+ "mappings": [ ],
+ "noValue": "0",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 8,
+ "y": 6
+ },
+ "id": 12,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(harbor_project_artifact_total{job=~\"$job\", artifact_type=\"CHART\", cluster=~\"$cluster\"})",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Charts",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Number of artifacts pulled in a project",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 5,
+ "options": {
+ "displayMode": "lcd",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "text"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "increase(harbor_artifact_pulled{job=~\"$job\", project_name=~\"$Project\", cluster=~\"$cluster\"}[$__range])",
+ "legendFormat": "{{project_name}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Number of Artifacts pulled",
+ "transparent": true,
+ "type": "bargauge"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 10
+ },
+ "id": 26,
+ "panels": [ ],
+ "title": "Harbor Core",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Rate of requests, grouped by request type",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 11
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.5.3-cloud.2.0cb5a501",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(harbor_core_http_request_total{job=~\"$job\", cluster=~\"$cluster\"}[$__rate_interval])",
+ "legendFormat": "{{operation}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Rate",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "The total number of In-flight requests",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 19
+ },
+ "id": 29,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "harbor_core_http_inflight_requests{job=~\"$job\", cluster=~\"$cluster\"}",
+ "legendFormat": "In-flight",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "In-flight requests",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "The time duration of the requests",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 9,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 19
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.0.1-cloud.2.a7a20fbf",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "max(harbor_core_http_request_duration_seconds{job=~\"$job\", cluster=~\"$cluster\"} >0) by (quantile)",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request Duration",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 26
+ },
+ "id": 39,
+ "panels": [ ],
+ "title": "Users & Projects",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Percentage of total used resources of a project\tby Quota set in a project",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-GrYlRd"
+ },
+ "mappings": [
+ {
+ "options": {
+ "23743462": {
+ "index": 0,
+ "text": "sad"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "id": 4,
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": false
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "harbor_project_quota_usage_byte{job=~\"$job\", cluster=~\"$cluster\", project_name=~\"$Project\"}/ harbor_project_quota_byte{job=~\"$job\", project_name=~\"$Project\"} ",
+ "legendFormat": "{{project_name}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Project Quota Usage",
+ "transparent": true,
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Total number of members in a project",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlPu"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 33
+ },
+ "id": 41,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "harbor_project_member_total{job=~\"$job\", project_name=~\"$Project\", cluster=~\"$cluster\"}",
+ "format": "time_series",
+ "legendFormat": "{{project_name}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Members",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Amount of Artifacts grouped by project",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "yellow",
+ "value": 50
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 14,
+ "w": 12,
+ "x": 12,
+ "y": 33
+ },
+ "id": 42,
+ "options": {
+ "tiling": "treemapSquarify"
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "harbor_project_artifact_total{job=~\"$job\",project_name=~\"$Project\", cluster=~\"$cluster\"}",
+ "format": "time_series",
+ "instant": false,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Artifacts by Project",
+ "transformations": [
+ {
+ "id": "labelsToFields",
+ "options": {
+ "keepLabels": [
+ "project_name"
+ ],
+ "mode": "columns"
+ }
+ }
+ ],
+ "transparent": true,
+ "type": "marcusolsson-treemap-panel"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Total number of repositories in a project",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 40
+ },
+ "id": 40,
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": false
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "harbor_project_repo_total{job=~\"$job\",project_name=~\"$Project\", cluster=~\"$cluster\"}",
+ "legendFormat": "{{project_name}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Repositories",
+ "transparent": true,
+ "type": "gauge"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 47
+ },
+ "id": 36,
+ "panels": [ ],
+ "title": "Registry",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "HTTP Error Rate of Requests",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 48
+ },
+ "id": 24,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(registry_http_requests_total{code=~\"4..|5..\",job=~\"$job\", cluster=~\"$cluster\"}[$__rate_interval]))",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "HTTP Error Rate",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "The number of seconds that the storage action take",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 54
+ },
+ "id": 23,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "registry_storage_action_seconds_bucket{job=~\"$job\", cluster=~\"$cluster\"}",
+ "legendFormat": "{{action}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Registry Storage Action",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "The HTTP request sizes in bytes",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 54
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.0.0-cloud.3.b04cc88b",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "registry_http_request_size_bytes_bucket{job=~\"$job\", cluster=~\"$cluster\"}",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Registry Request Size",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "The HTTP response sizes in bytes",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 62
+ },
+ "id": 22,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "registry_http_response_size_bytes_bucket{job=~\"$job\", cluster=~\"$cluster\"}",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Registry Response Size",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "The HTTP request latencies in seconds",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 62
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "registry_http_request_duration_seconds_bucket{job=~\"$job\", cluster=~\"$cluster\"}",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Registry Request Duration",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "The in-flight HTTP requests\tof Registry",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "fillOpacity": 70,
+ "lineWidth": 1
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 70
+ },
+ "id": 11,
+ "options": {
+ "colWidth": 0.90000000000000002,
+ "legend": {
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "rowHeight": 0.90000000000000002,
+ "showValue": "auto",
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.5.3-cloud.2.0cb5a501",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "registry_http_in_flight_requests{job=~\"$job\", cluster=~\"$cluster\"}",
+ "legendFormat": "{{handler}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "In-flight HTTP requests",
+ "transparent": true,
+ "type": "status-history"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 78
+ },
+ "id": 33,
+ "panels": [ ],
+ "title": "JobService",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Count of JobService Workers",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlPu"
+ },
+ "custom": {
+ "align": "center",
+ "cellOptions": {
+ "mode": "gradient",
+ "type": "color-background"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 79
+ },
+ "id": 34,
+ "options": {
+ "cellHeight": "lg",
+ "footer": {
+ "countRows": false,
+ "enablePagination": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": false
+ },
+ "pluginVersion": "10.0.2-cloud.1.94a6f396",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "harbor_jobservice_info{job=~\"$job\", cluster=~\"$cluster\"}",
+ "format": "table",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "JobService Workers",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Value": true,
+ "__name__": true,
+ "cluster": true,
+ "instance": true,
+ "job": true,
+ "node": true,
+ "pool": true,
+ "workers": false
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "transparent": true,
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "The number of processed tasks per job type",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "fillOpacity": 80,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineWidth": 1,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 9,
+ "x": 0,
+ "y": 82
+ },
+ "id": 35,
+ "options": {
+ "barRadius": 0,
+ "barWidth": 0.96999999999999997,
+ "fullHighlight": false,
+ "groupWidth": 0.69999999999999996,
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "orientation": "auto",
+ "showValue": "auto",
+ "stacking": "none",
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ },
+ "xTickLabelRotation": 0,
+ "xTickLabelSpacing": 0
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "harbor_jobservice_task_total{job=~\"$job\", cluster=~\"$cluster\"}",
+ "legendFormat": "{{type}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Total Tasks",
+ "transparent": true,
+ "type": "barchart"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "The duration of the task processing time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "fillOpacity": 70,
+ "lineWidth": 1
+ },
+ "mappings": [
+ {
+ "options": {
+ "NaN": {
+ "index": 0,
+ "text": "0"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 15,
+ "x": 9,
+ "y": 82
+ },
+ "id": 19,
+ "options": {
+ "colWidth": 0.90000000000000002,
+ "legend": {
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "rowHeight": 0.90000000000000002,
+ "showValue": "auto",
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.0.1-cloud.3.f250259e",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "harbor_jobservice_task_process_time_seconds{job=~\"$job\", quantile=\"0.9\", cluster=~\"$cluster\"}",
+ "legendFormat": "{{type}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "JobService Task Process Time",
+ "transparent": true,
+ "type": "status-history"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 90
+ },
+ "id": 30,
+ "panels": [ ],
+ "title": "Tasks Metrics",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "The total number of tasks per type in the queue",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 91
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.5.3-cloud.2.0cb5a501",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "harbor_task_queue_size{job=~\"$job\", cluster=~\"$cluster\"}",
+ "legendFormat": "{{type}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Task Queue Size",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "How long ago the next job to be processed was enqueued per type",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 91
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "harbor_task_queue_latency{job=~\"$job\", cluster=~\"$cluster\"}",
+ "legendFormat": "{{type}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Task Queue Latency",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Total number of concurrent tasks per type on a pool",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 98
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "harbor_task_concurrency{job=~\"$job\", cluster=~\"$cluster\"}",
+ "legendFormat": "{{type}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Task Concurrency",
+ "transparent": true,
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Number of scheduled tasks",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "fillOpacity": 80,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineWidth": 1,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 98
+ },
+ "id": 32,
+ "options": {
+ "barRadius": 0,
+ "barWidth": 0.96999999999999997,
+ "fullHighlight": false,
+ "groupWidth": 0.69999999999999996,
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "orientation": "auto",
+ "showValue": "auto",
+ "stacking": "none",
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ },
+ "xTickLabelRotation": 0,
+ "xTickLabelSpacing": 0
+ },
+ "pluginVersion": "9.5.3-cloud.2.0cb5a501",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "harbor_task_scheduled_total{job=~\"$job\", cluster=~\"$cluster\"}",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Scheduled tasks",
+ "transparent": true,
+ "type": "barchart"
+ }
+ ],
+ "refresh": "",
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": [
+ "Integration - Harbor"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "grafanacloud-k8sintegrations-prom",
+ "value": "grafanacloud-k8sintegrations-prom"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "definition": "label_values(project_name)",
+ "hide": 0,
+ "includeAll": true,
+ "multi": false,
+ "name": "Project",
+ "options": [ ],
+ "query": {
+ "query": "label_values(project_name)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": "integrations/harbor",
+ "value": "integrations/harbor"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "definition": "label_values(job)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(job)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": true,
+ "text": "staging",
+ "value": "staging"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "definition": "label_values(cluster)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "cluster",
+ "multi": false,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(cluster)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-5m",
+ "to": "now"
+ },
+ "timepicker": { },
+ "timezone": "",
+ "title": "Harbor",
+ "uid": "aeeaeced-0227-4425-9ecf-fa6231cc435a",
+ "version": 1,
+ "weekStart": ""
+}
diff --git a/assets/harbor/rules.yaml b/assets/harbor/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/harbor/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/hass/alerts.yaml b/assets/hass/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/hass/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/hass/dashboards/hass.json b/assets/hass/dashboards/hass.json
new file mode 100644
index 0000000..9d504e8
--- /dev/null
+++ b/assets/hass/dashboards/hass.json
@@ -0,0 +1,1445 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 2,
+ "hideControls": false,
+ "id": null,
+ "links": [ ],
+ "refresh": "",
+ "rows": [
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "datasource": "$datasource",
+ "description": "Sensors which are not supported by the Home Assistant Prometheus will be reported\nas `_sensor_unit_`.\n\nA full list of unsupported sensors can be found in a table at the bottom of this dashboard.\n\nYou can use [component_config](https://www.home-assistant.io/integrations/prometheus/#component_config)\nand [component_config_glob](https://www.home-assistant.io/integrations/prometheus/#component_config_glob),\ncombined with `override_metric` in your Home Assistant configuration file to rewrite unsupported sensors to supported values.\n\nSee the [configuration docs](https://www.home-assistant.io/integrations/prometheus/) for more details.\n",
+ "format": "none",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": { },
+ "id": 2,
+ "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"
+ }
+ ],
+ "span": 2,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "count({__name__=~\"$prefix\\\\_?sensor_unit_.+\", job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "title": "Unsupported Sensors",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "datasource": "$datasource",
+ "format": "none",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": { },
+ "id": 3,
+ "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"
+ }
+ ],
+ "span": 2,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "count({__name__=~\"$prefix\\\\_?entity_available\", job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "title": "Total Entities",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "red",
+ "yellow",
+ "green"
+ ],
+ "datasource": "$datasource",
+ "format": "percentunit",
+ "gauge": {
+ "maxValue": 1,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": { },
+ "id": 4,
+ "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"
+ }
+ ],
+ "span": 2,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "count({__name__=~\"$prefix\\\\_?entity_available\", job=~\"$job\", instance=~\"$instance\"} > 0) / count({__name__=~\"$prefix\\\\_?entity_available\", job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "thresholds": ".80,.90",
+ "title": "Entities Active",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "none"
+ }
+ },
+ "gridPos": { },
+ "id": 5,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "value_and_name"
+ },
+ "pluginVersion": "7",
+ "span": 2,
+ "targets": [
+ {
+ "expr": "bottomk(1, (time() - {__name__=~\"$prefix\\\\_?last_updated_time_seconds\", job=~\"$job\", instance=~\"$instance\"}))",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{friendly_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Latest Update",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ }
+ },
+ "gridPos": { },
+ "id": 6,
+ "links": [ ],
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "name"
+ },
+ "pluginVersion": "7",
+ "span": 2,
+ "targets": [
+ {
+ "expr": "{__name__=~\"$prefix\\\\_?input_boolean_state\", job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{friendly_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Input States",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*cooling"
+ },
+ "properties": [
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "from": "",
+ "text": "❄",
+ "to": "",
+ "type": 1,
+ "value": 1
+ }
+ ]
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*heating"
+ },
+ "properties": [
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "from": "",
+ "text": "🔥",
+ "to": "",
+ "type": 1,
+ "value": 1
+ }
+ ]
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*drying"
+ },
+ "properties": [
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "from": "",
+ "text": "🏜",
+ "to": "",
+ "type": 1,
+ "value": 1
+ }
+ ]
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "super-light-orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*fan"
+ },
+ "properties": [
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "from": "",
+ "text": "💨",
+ "to": "",
+ "type": 1,
+ "value": 1
+ }
+ ]
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*idle"
+ },
+ "properties": [
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "from": "",
+ "text": "💤",
+ "to": "",
+ "type": 1,
+ "value": 1
+ }
+ ]
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "super-light-yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*off"
+ },
+ "properties": [
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "from": "",
+ "text": "⛔",
+ "to": "",
+ "type": 1,
+ "value": 1
+ }
+ ]
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*eco"
+ },
+ "properties": [
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "from": "",
+ "text": "🌏",
+ "to": "",
+ "type": 1,
+ "value": 1
+ }
+ ]
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*home"
+ },
+ "properties": [
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "from": "",
+ "text": "🏠",
+ "to": "",
+ "type": 1,
+ "value": 1
+ }
+ ]
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": { },
+ "id": 7,
+ "links": [ ],
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "value_and_name"
+ },
+ "pluginVersion": "7",
+ "span": 2,
+ "targets": [
+ {
+ "expr": "{__name__=~\"$prefix\\\\_?climate_action\", job=~\"$job\", instance=~\"$instance\", entity=~\"$entity\", friendly_name=~\"$friendly_name\"} > 0 or label_replace({__name__=~\"$prefix\\\\_?humidifier_mode\", job=~\"$job\", instance=~\"$instance\", entity=~\"$entity\", friendly_name=~\"$friendly_name\"} > 0, \"action\", \"$1\", \"mode\", \"(.*)\")",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{friendly_name}} {{action}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Climate",
+ "transparent": false,
+ "type": "stat"
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Overview",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [
+ {
+ "id": 0,
+ "text": "✔",
+ "to": "",
+ "type": 1,
+ "value": 1
+ },
+ {
+ "id": 1,
+ "text": "❌",
+ "to": "",
+ "type": 1,
+ "value": 0
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".+\\(Inactive\\)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": { },
+ "id": 8,
+ "links": [ ],
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "value_and_name"
+ },
+ "pluginVersion": "7",
+ "span": 4,
+ "targets": [
+ {
+ "expr": "{__name__=~\"$prefix\\\\_?switch_state\", job=~\"$job\", instance=~\"$instance\", entity=~\"$entity\", friendly_name=~\"$friendly_name\"} $Inactive on (entity) label_replace({__name__=~\"$prefix\\\\_?entity_available\", domain=\"switch\", job=~\"$job\", instance=~\"$instance\", entity=~\"$entity\", friendly_name=~\"$friendly_name\"} == 0, \"friendly_name\", \"$1 (Inactive)\", \"friendly_name\", \"(.*)\")",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{friendly_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Switch States",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".+\\(Inactive\\)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": { },
+ "id": 9,
+ "links": [ ],
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "name"
+ },
+ "pluginVersion": "7",
+ "span": 4,
+ "targets": [
+ {
+ "expr": "{__name__=~\"$prefix\\\\_?binary_sensor_state\", job=~\"$job\", instance=~\"$instance\", entity=~\"$entity\", friendly_name=~\"$friendly_name\"} $Inactive on (entity) label_replace({__name__=~\"$prefix\\\\_?entity_available\", domain=\"binary_sensor\", job=~\"$job\", instance=~\"$instance\", entity=~\"$entity\", friendly_name=~\"$friendly_name\"} == 0, \"friendly_name\", \"$1 (Inactive)\", \"friendly_name\", \"(.*)\")",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{friendly_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Binary Sensors",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "yellow",
+ "value": 40
+ },
+ {
+ "color": "green",
+ "value": 75
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".+\\(Inactive\\)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": { },
+ "id": 10,
+ "options": {
+ "displayMode": "lcd",
+ "showUnfilled": true
+ },
+ "span": 4,
+ "targets": [
+ {
+ "expr": "{__name__=~\"$prefix\\\\_?battery_level_percent\", job=~\"$job\", instance=~\"$instance\", entity=~\"$entity\", friendly_name=~\"$friendly_name\"} or {__name__=~\"$prefix\\\\_?battery_percent\", job=~\"$job\", instance=~\"$instance\", entity=~\"$entity\", friendly_name=~\"$friendly_name\"} $Inactive on (entity) label_replace({__name__=~\"$prefix\\\\_?entity_available\", entity=~\".+battery_level.*\", job=~\"$job\", instance=~\"$instance\", entity=~\"$entity\", friendly_name=~\"$friendly_name\"} == 0, \"friendly_name\", \"$1 (Inactive)\", \"friendly_name\", \"(.*)\")",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{friendly_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Battery Levels",
+ "type": "bargauge"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-purples"
+ },
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".+\\(Inactive\\)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": { },
+ "id": 11,
+ "options": {
+ "displayMode": "gradient",
+ "showUnfilled": true
+ },
+ "span": 6,
+ "targets": [
+ {
+ "expr": "{__name__=~\"$prefix\\\\_?light_state\", job=~\"$job\", instance=~\"$instance\", entity=~\"$entity\", friendly_name=~\"$friendly_name\"} $Inactive on (entity) label_replace({__name__=~\"$prefix\\\\_?entity_available\", domain=\"light\", job=~\"$job\", instance=~\"$instance\", entity=~\"$entity\", friendly_name=~\"$friendly_name\"} == 0, \"friendly_name\", \"$1 (Inactive)\", \"friendly_name\", \"(.*)\")",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{friendly_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Lights",
+ "type": "bargauge"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [
+ {
+ "id": 0,
+ "text": "🔒",
+ "to": "",
+ "type": 1,
+ "value": 1
+ },
+ {
+ "id": 1,
+ "text": "🔓",
+ "to": "",
+ "type": 1,
+ "value": 0
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".+\\(Inactive\\)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": { },
+ "id": 12,
+ "links": [ ],
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "value_and_name"
+ },
+ "pluginVersion": "7",
+ "span": 6,
+ "targets": [
+ {
+ "expr": "{__name__=~\"$prefix\\\\_?lock_state\", job=~\"$job\", instance=~\"$instance\", entity=~\"$entity\", friendly_name=~\"$friendly_name\"} $Inactive on (entity) label_replace({__name__=~\"$prefix\\\\_?entity_available\", domain=\"lock\", job=~\"$job\", instance=~\"$instance\", entity=~\"$entity\", friendly_name=~\"$friendly_name\"} == 0, \"friendly_name\", \"$1 (Inactive)\", \"friendly_name\", \"(.*)\")",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "{{friendly_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Locks",
+ "transparent": false,
+ "type": "stat"
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "States",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 13,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "{__name__=~\"$prefix\\\\_?temperature_c\", job=~\"$job\", instance=~\"$instance\", entity=~\"$entity\", friendly_name=~\"$friendly_name\"}",
+ "format": "time_series",
+ "legendFormat": "{{friendly_name}}",
+ "legendLink": null
+ },
+ {
+ "expr": "{__name__=~\"$prefix\\\\_?current_temperature_c\", job=~\"$job\", instance=~\"$instance\", entity=~\"$entity\", friendly_name=~\"$friendly_name\"}",
+ "format": "time_series",
+ "legendFormat": "{{friendly_name}} Current",
+ "legendLink": null
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Temperature",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "celsius",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 14,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "{__name__=~\"$prefix\\\\_?humidity_percent\", job=~\"$job\", instance=~\"$instance\", entity=~\"$entity\", friendly_name=~\"$friendly_name\"}",
+ "format": "time_series",
+ "legendFormat": "{{friendly_name}}",
+ "legendLink": null
+ },
+ {
+ "expr": "{__name__=~\"$prefix\\\\_?humidifier_target_humidity_percent\", job=~\"$job\", instance=~\"$instance\", entity=~\"$entity\", friendly_name=~\"$friendly_name\"}",
+ "format": "time_series",
+ "legendFormat": "{{friendly_name}} Target",
+ "legendLink": null
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Humidity",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "percent",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "datasource": "$datasource",
+ "gridPos": { },
+ "id": 15,
+ "span": 12,
+ "styles": [
+ {
+ "alias": "Time",
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "pattern": "Time",
+ "type": "hidden"
+ },
+ {
+ "alias": "Value",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": false,
+ "linkTargetBlank": false,
+ "linkTooltip": "Drill down",
+ "linkUrl": "",
+ "pattern": "Value #A",
+ "thresholds": [ ],
+ "type": "number",
+ "unit": "short"
+ },
+ {
+ "alias": "Metric",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": false,
+ "linkTargetBlank": false,
+ "linkTooltip": "Drill down",
+ "linkUrl": "",
+ "pattern": "__name__",
+ "thresholds": [ ],
+ "type": "number",
+ "unit": "short"
+ },
+ {
+ "alias": "Entity",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": false,
+ "linkTargetBlank": false,
+ "linkTooltip": "Drill down",
+ "linkUrl": "",
+ "pattern": "entity",
+ "thresholds": [ ],
+ "type": "number",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "pattern": "/.*/",
+ "thresholds": [ ],
+ "type": "string",
+ "unit": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "{__name__=~\"$prefix\\\\_?sensor_unit_.+\", job=~\"$job\", instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Unsupported Sensors",
+ "transform": "table",
+ "type": "table"
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Sensors",
+ "titleSize": "h6",
+ "type": "row"
+ }
+ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(up, job)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(up{job=~\"$job\"}, instance)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "entity",
+ "multi": true,
+ "name": "entity",
+ "options": [ ],
+ "query": "label_values({__name__=~\"$prefix\\\\_?last_updated_time_seconds\", job=~\"$job\", instance=~\"$instance\"}, entity)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "fname",
+ "multi": true,
+ "name": "friendly_name",
+ "options": [ ],
+ "query": "label_values({__name__=~\"$prefix\\\\_?last_updated_time_seconds\", job=~\"$job\", instance=~\"$instance\"}, friendly_name)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": null,
+ "current": {
+ "selected": true,
+ "text": "Include",
+ "value": "or"
+ },
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": null,
+ "multi": false,
+ "name": "Inactive",
+ "options": [
+ {
+ "selected": true,
+ "text": "Include",
+ "value": "or"
+ },
+ {
+ "selected": false,
+ "text": "Exclude",
+ "value": "unless"
+ }
+ ],
+ "query": "Include : or, Exclude : unless",
+ "queryValue": "",
+ "skipUrlSync": false,
+ "type": "custom"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "homeassistant",
+ "value": "homeassistant"
+ },
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "label": null,
+ "name": "prefix",
+ "options": [
+ {
+ "selected": true,
+ "text": "homeassistant",
+ "value": "homeassistant"
+ }
+ ],
+ "query": "homeassistant",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "browser",
+ "title": "Home Assistant",
+ "uid": "LYCv3YDFD",
+ "version": 0
+}
diff --git a/assets/hass/rules.yaml b/assets/hass/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/hass/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/ibm-mq/alerts.yaml b/assets/ibm-mq/alerts.yaml
new file mode 100644
index 0000000..d1d15a4
--- /dev/null
+++ b/assets/ibm-mq/alerts.yaml
@@ -0,0 +1,44 @@
+groups:
+- name: ibm-mq-alerts
+ rules:
+ - alert: IBMMQExpiredMessages
+ annotations:
+ description: The number of expired messages in the {{$labels.qmgr}} is {{$labels.value}}
+ which is above the threshold of 2.
+ summary: There are expired messages, which imply that application resilience
+ is failing.
+ expr: |
+ sum without (description,hostname,instance,job,platform) (ibmmq_qmgr_expired_message_count) > 2
+ for: 5m
+ labels:
+ severity: critical
+ - alert: IBMMQStaleMessages
+ annotations:
+ description: A stale message with an age of {{$labels.value}} has been sitting
+ in the {{$labels.queue}} which is above the threshold of 300s.
+ summary: Stale messages have been detected.
+ expr: |
+ sum without (description,instance,job,platform) (ibmmq_queue_oldest_message_age) >= 300
+ for: 5m
+ labels:
+ severity: warning
+ - alert: IBMMQLowDiskSpace
+ annotations:
+ description: The amount of disk space available for {{$labels.qmgr}} is at {{$labels.value}}%
+ which is below the threshold of 5%.
+ summary: There is limited disk available for a queue manager.
+ expr: |
+ sum without (description,hostname,instance,job,platform) (ibmmq_qmgr_queue_manager_file_system_free_space_percentage) <= 5
+ for: 5m
+ labels:
+ severity: critical
+ - alert: IBMMQHighQueueManagerCpuUsage
+ annotations:
+ description: The amount of CPU usage for the queue manager {{$labels.qmgr}}
+ is at {{$labels.value}}% which is above the threshold of 85%.
+ summary: There is a high CPU usage estimate for a queue manager.
+ expr: |
+ sum without (description,hostname,instance,job,platform) (ibmmq_qmgr_user_cpu_time_estimate_for_queue_manager_percentage) >= 85
+ for: 5m
+ labels:
+ severity: critical
diff --git a/assets/ibm-mq/dashboards/ibm-mq-cluster-overview.json b/assets/ibm-mq/dashboards/ibm-mq-cluster-overview.json
new file mode 100644
index 0000000..60dcd39
--- /dev/null
+++ b/assets/ibm-mq/dashboards/ibm-mq-cluster-overview.json
@@ -0,0 +1,902 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "ibm-mq-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other IBM MQ dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The unique number of clusters being reported.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "count(count(ibmmq_qmgr_commit_count{job=~\"$job\"}) by (mq_cluster))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{job}} - {{mq_cluster}}"
+ }
+ ],
+ "title": "Clusters",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The unique number of queue managers in the cluster being reported.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 4,
+ "x": 4,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "count(count(ibmmq_qmgr_commit_count{job=~\"$job\"}) by (qmgr, mq_cluster))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Queue managers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The unique number of topics in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 4,
+ "x": 8,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "count(count(ibmmq_topic_messages_received{job=~\"$job\"}) by (topic, mq_cluster))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{job}} - {{mq_cluster}}"
+ }
+ ],
+ "title": "Topics",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The unique number of queues in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 4,
+ "x": 12,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "count(count(ibmmq_queue_depth{job=~\"$job\"}) by (queue, mq_cluster))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Queues",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of queue operations of the cluster. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ],
+ "unit": "operations"
+ },
+ "overrides": [
+ {
+ "__systemRef": "hideSeriesFrom",
+ "matcher": {
+ "id": "byNames",
+ "options": {
+ "mode": "exclude",
+ "names": [
+ "MQINQ",
+ "MQGET",
+ "MQOPEN",
+ "MQPUT/MQPUT1"
+ ],
+ "prefix": "All except:",
+ "readOnly": true
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": false,
+ "tooltip": false,
+ "viz": true
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 15,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "pieType": "pie",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (mq_cluster) (ibmmq_queue_mqset_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "MQSET"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (mq_cluster) (ibmmq_queue_mqinq_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "MQINQ"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (mq_cluster) (ibmmq_queue_mqget_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "MQGET"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (mq_cluster) (ibmmq_queue_mqopen_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "MQOPEN"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (mq_cluster) (ibmmq_queue_mqclose_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "MQCLOSE"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (mq_cluster) (ibmmq_queue_mqput_mqput1_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "MQPUT/MQPUT1"
+ }
+ ],
+ "title": "Queue operations",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The status of the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "custom": {
+ "align": "center",
+ "cellOptions": {
+ "type": "color-text"
+ },
+ "inspect": false
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "green",
+ "index": 0,
+ "text": "Not suspended"
+ },
+ "1": {
+ "color": "red",
+ "index": 1,
+ "text": "Suspended"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 16,
+ "x": 0,
+ "y": 7
+ },
+ "id": 7,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "enablePagination": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_cluster_suspend{job=~\"$job\", mq_cluster=~\"$mq_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{job}} - {{mq_cluster}}"
+ }
+ ],
+ "title": "Cluster status",
+ "transformations": [
+ {
+ "id": "joinByLabels",
+ "options": {
+ "join": [
+ "cluster",
+ "mq_cluster",
+ "qmgr"
+ ],
+ "value": "__name__"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": { },
+ "indexByName": { },
+ "renameByName": {
+ "cluster": "Cluster",
+ "ibmmq_cluster_suspend": "Status",
+ "mq_cluster": "MQ cluster",
+ "qmgr": "Queue manager"
+ }
+ }
+ },
+ {
+ "id": "reduce",
+ "options": {
+ "includeTimeField": false,
+ "mode": "reduceFields",
+ "reducers": [
+ "last"
+ ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The queue managers of the cluster displayed in a table.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "custom": {
+ "align": "center",
+ "cellOptions": {
+ "type": "color-text"
+ },
+ "inspect": false
+ },
+ "mappings": [
+ {
+ "options": {
+ "-1": {
+ "color": "dark-red",
+ "index": 0,
+ "text": "N/A"
+ },
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Stopped"
+ },
+ "1": {
+ "color": "light-green",
+ "index": 2,
+ "text": "Starting"
+ },
+ "2": {
+ "color": "green",
+ "index": 3,
+ "text": "Running"
+ },
+ "3": {
+ "index": 4,
+ "text": "Quiescing"
+ },
+ "4": {
+ "color": "light-red",
+ "index": 5,
+ "text": "Stopping"
+ },
+ "5": {
+ "index": 6,
+ "text": "Standby"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 16,
+ "x": 0,
+ "y": 11
+ },
+ "id": 8,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": false,
+ "displayName": "ibmmq_qmgr_status{description=\"-\", hostname=\"keith-ibm-mq-1804-2-test\", instance=\"localhost:9157\", job=\"integrations/ibm_mq\", mq_cluster=\"\", platform=\"UNIX\", qmgr=\"QM1\"}"
+ }
+ ]
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_qmgr_status{job=~\"$job\", mq_cluster=~\"$mq_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Queue manager status",
+ "transformations": [
+ {
+ "id": "joinByLabels",
+ "options": {
+ "join": [
+ "mq_cluster",
+ "qmgr",
+ "instance"
+ ],
+ "value": "__name__"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": { },
+ "indexByName": { },
+ "renameByName": {
+ "ibmmq_qmgr_status": "Status",
+ "instance": "Instance",
+ "mq_cluster": "MQ cluster",
+ "qmgr": "Queue manager"
+ }
+ }
+ },
+ {
+ "id": "reduce",
+ "options": {
+ "includeTimeField": false,
+ "mode": "reduceFields",
+ "reducers": [
+ "last"
+ ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The time it takes for the messages to get through the transmission queue. (Long) - total time taken for messages to be transmitted over the channel, (Short) - an average, minimum, or maximum time taken to transmit messages over the channel in recent intervals. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "µs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 15
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_channel_xmitq_time_short{type=\"SENDER\", job=~\"$job\", mq_cluster=~\"$mq_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{channel}} - short"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_channel_xmitq_time_long{type=~\"SENDER\", job=~\"$job\", mq_cluster=~\"$mq_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{channel}} - long"
+ }
+ ],
+ "title": "Transmission queue time",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "ibm-mq-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(ibmmq_qmgr_commit_count,job)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "MQ cluster",
+ "multi": false,
+ "name": "mq_cluster",
+ "options": [ ],
+ "query": "label_values(ibmmq_qmgr_commit_count,mq_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(ibmmq_qmgr_commit_count{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "IBM MQ cluster overview",
+ "uid": "ibm-mq-cluster-overview",
+ "version": 0
+}
diff --git a/assets/ibm-mq/dashboards/ibm-mq-queue-manager-overview.json b/assets/ibm-mq/dashboards/ibm-mq-queue-manager-overview.json
new file mode 100644
index 0000000..394eb1b
--- /dev/null
+++ b/assets/ibm-mq/dashboards/ibm-mq-queue-manager-overview.json
@@ -0,0 +1,1611 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "ibm-mq-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other IBM MQ dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of active listeners for the queue manager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_qmgr_active_listeners{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Active listeners",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of active connections for the queue manager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 4,
+ "x": 4,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_qmgr_connection_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Active connections",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The unique number of queues being managed by the queue manager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 4,
+ "x": 8,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "count(count(ibmmq_queue_depth{job=~\"$job\"}) by (queue, mq_cluster, qmgr))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Queues",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The estimated memory usage of the queue managers.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "(ibmmq_qmgr_ram_total_estimate_for_queue_manager_bytes{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"}/ibmmq_qmgr_ram_total_bytes{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}}"
+ }
+ ],
+ "title": "Estimated memory utilization",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "A table showing the status and uptime of the queue manager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "custom": {
+ "align": "left",
+ "cellOptions": {
+ "type": "color-text"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "mappings": [
+ {
+ "options": {
+ "-1": {
+ "color": "dark-red",
+ "index": 0,
+ "text": "N/A"
+ },
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Stopped"
+ },
+ "1": {
+ "color": "light-green",
+ "index": 2,
+ "text": "Starting"
+ },
+ "2": {
+ "color": "green",
+ "index": 3,
+ "text": "Running"
+ },
+ "3": {
+ "index": 4,
+ "text": "Quiescing"
+ },
+ "4": {
+ "color": "light-red",
+ "index": 5,
+ "text": "Stopping"
+ },
+ "5": {
+ "color": "yellow",
+ "index": 6,
+ "text": "Standby"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Uptime"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 149
+ },
+ {
+ "id": "unit",
+ "value": "s"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "__name__"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 318
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Queue manager"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 168
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "MQ cluster"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 129
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 7
+ },
+ "id": 6,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "enablePagination": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "frameIndex": 1,
+ "showHeader": true,
+ "sortBy": [ ]
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_qmgr_uptime{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"}",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "Uptime"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_qmgr_status{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Status"
+ }
+ ],
+ "title": "Queue manager status",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "Time",
+ "mode": "inner"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "__name__": true,
+ "description": true,
+ "hostname": true,
+ "instance": true,
+ "job": true,
+ "platform": true
+ },
+ "indexByName": {
+ "Time": 0,
+ "Value": 10,
+ "__name__": 1,
+ "description": 2,
+ "hostname": 3,
+ "ibmmq_qmgr_status{job=\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=\"$qmgr\"}": 9,
+ "instance": 4,
+ "job": 5,
+ "mq_cluster": 6,
+ "platform": 7,
+ "qmgr": 8
+ },
+ "renameByName": {
+ "Time": "",
+ "Value": "Uptime",
+ "ibmmq_qmgr_status{job=\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=\"$qmgr\"}": "Status",
+ "mq_cluster": "MQ cluster",
+ "qmgr": "Queue manager"
+ }
+ }
+ },
+ {
+ "id": "reduce",
+ "options": {
+ "includeTimeField": false,
+ "mode": "reduceFields",
+ "reducers": [
+ "lastNotNull"
+ ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The system/user CPU usage of the queue manager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 7
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_qmgr_user_cpu_time_percentage{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}} - user"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_qmgr_system_cpu_time_percentage{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}} - system"
+ }
+ ],
+ "title": "CPU usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The disk allocated to the queue manager that is being used.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 7
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_qmgr_queue_manager_file_system_in_use_bytes{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}}"
+ }
+ ],
+ "title": "Disk usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The commits of the queue manager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 14
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_qmgr_commit_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}}"
+ }
+ ],
+ "title": "Commits",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of data being pushed from the queue manager to subscribers.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 14
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_qmgr_published_to_subscribers_bytes{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}}"
+ }
+ ],
+ "title": "Publish throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of messages being published by the queue manager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 14
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_qmgr_published_to_subscribers_message_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}}"
+ }
+ ],
+ "title": "Published messages",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The expired messages of the queue manager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 21
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_qmgr_expired_message_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}}"
+ }
+ ],
+ "title": "Expired messages",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of queue operations of the queue manager. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "operations"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 16,
+ "x": 8,
+ "y": 21
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (mq_cluster, qmgr, job) (ibmmq_queue_mqset_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}} - MQSET"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (mq_cluster, qmgr, job) (ibmmq_queue_mqinq_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}} - MQINQ"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (mq_cluster, qmgr, job) (ibmmq_queue_mqget_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}} - MQGET"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (mq_cluster, qmgr, job) (ibmmq_queue_mqopen_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}} - MQOPEN"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (mq_cluster, qmgr, job) (ibmmq_queue_mqclose_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}} - MQCLOSE"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (mq_cluster, qmgr, job) (ibmmq_queue_mqput_mqput1_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}} - MQPUT/MQPUT1"
+ }
+ ],
+ "title": "Queue operations",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 14,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Logs",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The recent latency of log writes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 29
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_qmgr_log_write_latency_seconds{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}}"
+ }
+ ],
+ "title": "Log latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of data on the filesystem occupied by queue manager logs.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 29
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_qmgr_log_in_use_bytes{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}}"
+ }
+ ],
+ "title": "Log usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "Recent error logs from the queue manager.",
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 36
+ },
+ "id": 17,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{job=~\"$job\", filename=~\"/var/mqm/qmgrs/.*/errors/.*LOG\", qmgr=~\"$qmgr\"} |= ``",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Error logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "ibm-mq-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki Datasource",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(ibmmq_topic_messages_received,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "MQ cluster",
+ "multi": true,
+ "name": "mq_cluster",
+ "options": [ ],
+ "query": "label_values(ibmmq_topic_messages_received,mq_cluster)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Queue manager",
+ "multi": true,
+ "name": "qmgr",
+ "options": [ ],
+ "query": "label_values(ibmmq_topic_messages_received{mq_cluster=~\"$mq_cluster\"},qmgr)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(ibmmq_qmgr_commit_count{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "IBM MQ queue manager overview",
+ "uid": "ibm-mq-queue-manager-overview",
+ "version": 0
+}
diff --git a/assets/ibm-mq/dashboards/ibm-mq-queue-overview.json b/assets/ibm-mq/dashboards/ibm-mq-queue-overview.json
new file mode 100644
index 0000000..19cfa0b
--- /dev/null
+++ b/assets/ibm-mq/dashboards/ibm-mq-queue-overview.json
@@ -0,0 +1,702 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "ibm-mq-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other IBM MQ dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The average amount of time a message spends in the queue.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_queue_average_queue_time_seconds{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\", queue=~\"$queue\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}} - {{queue}}"
+ }
+ ],
+ "title": "Average queue time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of expired messages in the queue.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_queue_expired_messages{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\", queue=~\"$queue\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}} - {{queue}}"
+ }
+ ],
+ "title": "Expired messages",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of active messages in the queue.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_queue_depth{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\", queue=~\"$queue\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}} - {{queue}}"
+ }
+ ],
+ "title": "Depth",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of throughput going through the queue via MQGETs and MQPUTs.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 9,
+ "x": 0,
+ "y": 16
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_queue_mqget_bytes{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\", queue=~\"$queue\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{qmgr}} - {{queue}} - MQGET"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_queue_mqput_bytes{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\", queue=~\"$queue\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{qmgr}} - {{queue}} - MQPUT"
+ }
+ ],
+ "title": "Operation throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of queue operations of the queue manager.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "operations"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 15,
+ "x": 9,
+ "y": 16
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_queue_mqset_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\", queue=~\"$queue\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{qmgr}} - {{queue}} - MQSET"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_queue_mqinq_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\", queue=~\"$queue\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{qmgr}} - {{queue}} - MQINQ"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_queue_mqget_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\", queue=~\"$queue\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{qmgr}} - {{queue}} - MQGET"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_queue_mqopen_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\", queue=~\"$queue\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{qmgr}} - {{queue}} - MQOPEN"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_queue_mqclose_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\", queue=~\"$queue\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{qmgr}} - {{queue}} - MQCLOSE"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_queue_mqput_mqput1_count{job=~\"$job\", mq_cluster=~\"$mq_cluster\", qmgr=~\"$qmgr\", queue=~\"$queue\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{qmgr}} - {{queue}} - MQPUT/MQPUT1"
+ }
+ ],
+ "title": "Operations",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "ibm-mq-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(ibmmq_queue_average_queue_time_seconds,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "MQ cluster",
+ "multi": true,
+ "name": "mq_cluster",
+ "options": [ ],
+ "query": "label_values(ibmmq_queue_average_queue_time_seconds{job=~\"$job\"},mq_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Queue manager",
+ "multi": true,
+ "name": "qmgr",
+ "options": [ ],
+ "query": "label_values(ibmmq_queue_average_queue_time_seconds{mq_cluster=~\"$mq_cluster\"},qmgr)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Queue",
+ "multi": true,
+ "name": "queue",
+ "options": [ ],
+ "query": "label_values(ibmmq_queue_average_queue_time_seconds{qmgr=~\"$qmgr\"},queue)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(ibmmq_qmgr_commit_count{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "IBM MQ queue overview",
+ "uid": "ibm-mq-queue-overview",
+ "version": 0
+}
diff --git a/assets/ibm-mq/dashboards/ibm-mq-topics-overview.json b/assets/ibm-mq/dashboards/ibm-mq-topics-overview.json
new file mode 100644
index 0000000..34fdb19
--- /dev/null
+++ b/assets/ibm-mq/dashboards/ibm-mq-topics-overview.json
@@ -0,0 +1,832 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "ibm-mq-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other IBM MQ dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Topics",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Received messages per topic.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 16,
+ "x": 0,
+ "y": 1
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_topic_messages_received{job=~\"$job\",mq_cluster=~\"$mq_cluster\",qmgr=~\"$qmgr\",topic=~\"$topic\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}} - {{topic}}"
+ }
+ ],
+ "title": "Topic messages received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The time since the topic last received a message.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 1
+ },
+ "id": 4,
+ "options": {
+ "displayMode": "basic",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "valueMode": "color"
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_topic_time_since_msg_received{job=~\"$job\",mq_cluster=~\"$mq_cluster\",qmgr=~\"$qmgr\",topic=~\"$topic\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}} - {{topic}}"
+ }
+ ],
+ "title": "Time since last message",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of subscribers per topic.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 7
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_topic_subscriber_count{job=~\"$job\",mq_cluster=~\"$mq_cluster\",qmgr=~\"$qmgr\",topic=~\"$topic\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}} - {{topic}}"
+ }
+ ],
+ "title": "Topic subscribers",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of publishers per topic.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 7
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_topic_publisher_count{job=~\"$job\",mq_cluster=~\"$mq_cluster\",qmgr=~\"$qmgr\",topic=~\"$topic\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}} - {{topic}}"
+ }
+ ],
+ "title": "Topic publishers",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 13
+ },
+ "id": 7,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Subscriptions",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of messages a subscription receives.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_subscription_messsages_received{job=~\"$job\",mq_cluster=~\"$mq_cluster\",qmgr=~\"$qmgr\",subscription=~\"$subscription\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{mq_cluster}} - {{qmgr}} - {{subscription}}"
+ }
+ ],
+ "title": "Subscription messages received",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "A table for at a glance information about a subscription.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "center",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 24,
+ "x": 0,
+ "y": 20
+ },
+ "id": 9,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "enablePagination": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": false,
+ "displayName": "subid"
+ }
+ ]
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "ibmmq_subscription_time_since_message_published{job=~\"$job\",mq_cluster=~\"$mq_cluster\",qmgr=~\"$qmgr\",subscription=~\"$subscription\"}",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "{{label_name}}"
+ }
+ ],
+ "title": "Subscription status",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "__name__": true,
+ "instance": true,
+ "job": true,
+ "platform": true,
+ "subid": true,
+ "type": false
+ },
+ "indexByName": {
+ "Time": 6,
+ "Value": 5,
+ "__name__": 7,
+ "instance": 8,
+ "job": 9,
+ "mq_cluster": 1,
+ "platform": 10,
+ "qmgr": 0,
+ "subid": 11,
+ "subscription": 2,
+ "topic": 4,
+ "type": 3
+ },
+ "renameByName": { }
+ }
+ },
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "Value": {
+ "aggregations": [
+ "last"
+ ],
+ "operation": "aggregate"
+ },
+ "mq_cluster": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "qmgr": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "subscription": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "topic": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "type": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ }
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": { },
+ "indexByName": { },
+ "renameByName": {
+ "Value (last)": "Time since last subscription message",
+ "Value (lastNotNull)": "Time since last subscription message"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "ibm-mq-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Job",
+ "multi": false,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(ibmmq_topic_messages_received,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "MQ cluster",
+ "multi": true,
+ "name": "mq_cluster",
+ "options": [ ],
+ "query": "label_values(ibmmq_topic_messages_received{job=~\"$job\"},mq_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Queue manager",
+ "multi": false,
+ "name": "qmgr",
+ "options": [ ],
+ "query": "label_values(ibmmq_topic_messages_received{mq_cluster=~\"$mq_cluster\"},qmgr)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Topic",
+ "multi": true,
+ "name": "topic",
+ "options": [ ],
+ "query": "label_values(ibmmq_topic_subscriber_count{qmgr=~\"$qmgr\",topic!~\"SYSTEM.*|\\\\$SYS.*|\"},topic)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Subscription",
+ "multi": true,
+ "name": "subscription",
+ "options": [ ],
+ "query": "label_values(ibmmq_subscription_messsages_received{qmgr=~\"$qmgr\",subscription!~\"SYSTEM.*|\"},subscription)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(ibmmq_qmgr_commit_count{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "IBM MQ topics overview",
+ "uid": "ibm-mq-topics-overview",
+ "version": 0
+}
diff --git a/assets/ibm-mq/rules.yaml b/assets/ibm-mq/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/ibm-mq/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/influxdb/alerts.yaml b/assets/influxdb/alerts.yaml
new file mode 100644
index 0000000..00fc369
--- /dev/null
+++ b/assets/influxdb/alerts.yaml
@@ -0,0 +1,71 @@
+groups:
+- name: influxdb
+ rules:
+ - alert: InfluxDBWarningTaskSchedulerHighFailureRate
+ annotations:
+ description: Task scheduler task executions for instance {{$labels.instance}}
+ on cluster {{$labels.influxdb_cluster}} are failing at a rate of {{ printf
+ "%.0f" $value }} percent, which is above the threshold of 25 percent.
+ summary: Automated data processing tasks are failing at a high rate.
+ expr: |
+ 100 * rate(task_scheduler_total_execute_failure[5m])/clamp_min(rate(task_scheduler_total_execution_calls[5m]), 1) >= 25
+ for: 5m
+ labels:
+ severity: warning
+ - alert: InfluxDBCriticalTaskSchedulerHighFailureRate
+ annotations:
+ description: Task scheduler task executions for instance {{$labels.instance}}
+ on cluster {{$labels.influxdb_cluster}} are failing at a rate of {{ printf
+ "%.0f" $value }} percent, which is above the threshold of 50 percent.
+ summary: Automated data processing tasks are failing at a critical rate.
+ expr: |
+ 100 * rate(task_scheduler_total_execute_failure[5m])/clamp_min(rate(task_scheduler_total_execution_calls[5m]), 1) >= 50
+ for: 5m
+ labels:
+ severity: critical
+ - alert: InfluxDBHighBusyWorkerPercentage
+ annotations:
+ description: The busy worker percentage for instance {{$labels.instance}} on
+ cluster {{$labels.influxdb_cluster}} is {{ printf "%.0f" $value }} percent,
+ which is above the threshold of 80 percent.
+ summary: There is a high percentage of busy workers.
+ expr: |
+ task_executor_workers_busy >= 80
+ for: 5m
+ labels:
+ severity: critical
+ - alert: InfluxDBHighHeapMemoryUsage
+ annotations:
+ description: The heap memory usage for instance {{$labels.instance}} on cluster
+ {{$labels.influxdb_cluster}} is {{ printf "%.0f" $value }} percent, which
+ is above the threshold of 80 percent.
+ summary: There is a high amount of heap memory being used.
+ expr: |
+ 100 * go_memstats_heap_alloc_bytes/clamp_min((go_memstats_heap_idle_bytes + go_memstats_heap_alloc_bytes), 1) >= 80
+ for: 5m
+ labels:
+ severity: critical
+ - alert: InfluxDBHighAverageAPIRequestLatency
+ annotations:
+ description: The average API request latency for instance {{$labels.instance}}
+ on cluster {{$labels.influxdb_cluster}} is {{ printf "%.2f" $value }} seconds,
+ which is above the threshold of 0.29999999999999999 seconds.
+ summary: Average API request latency is too high. High latency will negatively
+ affect system performance, degrading data availability and precision.
+ expr: |
+ sum without(handler, method, path, response_code, status, user_agent) (increase(http_api_request_duration_seconds_sum[5m])/clamp_min(increase(http_api_requests_total[5m]), 1)) >= 0.29999999999999999
+ for: 1m
+ labels:
+ severity: critical
+ - alert: InfluxDBSlowAverageIQLExecutionTime
+ annotations:
+ description: The average InfluxQL query execution time for instance {{$labels.instance}}
+ on cluster {{$labels.influxdb_cluster}} is {{ printf "%.2f" $value }} seconds,
+ which is above the threshold of 0.10000000000000001 seconds.
+ summary: InfluxQL execution times are too slow. Slow query execution times will
+ negatively affect system performance, degrading data availability and precision.
+ expr: |
+ sum without(result) (increase(influxql_service_executing_duration_seconds_sum[5m])/clamp_min(increase(influxql_service_requests_total[5m]), 1)) >= 0.10000000000000001
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/influxdb/dashboards/influxdb-cluster-overview.json b/assets/influxdb/dashboards/influxdb-cluster-overview.json
new file mode 100644
index 0000000..834c102
--- /dev/null
+++ b/assets/influxdb/dashboards/influxdb-cluster-overview.json
@@ -0,0 +1,1773 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "influxdb-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other InfluxDB dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Panel to report on the status of firing alerts.",
+ "gridPos": {
+ "h": 8,
+ "w": 7,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "alertInstanceLabelFilter": "{job=~\"${job:regex}\", influxdb_cluster=~\"${influxdb_cluster:regex}\"}",
+ "alertName": "",
+ "dashboardAlerts": false,
+ "groupBy": [ ],
+ "groupMode": "default",
+ "maxItems": 20,
+ "sortOrder": 1,
+ "stateFilter": {
+ "error": true,
+ "firing": true,
+ "noData": false,
+ "normal": false,
+ "pending": true
+ },
+ "viewMode": "list"
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Alerts",
+ "type": "alertlist"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Statistics for each instance in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "left",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Instance overview",
+ "url": "/d/influxdb-instance-overview?from=${__from}&to=${__to}&var-instance=${__data.fields[\"Instance\"]}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Uptime"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "s"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 17,
+ "x": 7,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.3.0-63516",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "influxdb_uptime_seconds{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "Uptime"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "influxdb_buckets_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "Buckets"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "influxdb_users_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "Users"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "influxdb_replications_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "Replications"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "influxdb_remotes_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "Remotes"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "influxdb_scrapers_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "Scrapers"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "influxdb_dashboards_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "Dashboards"
+ }
+ ],
+ "title": "Servers",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "instance",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true,
+ "Time 7": true,
+ "Value #B": false,
+ "Value #H": true,
+ "__name__": true,
+ "__name__ 1": true,
+ "__name__ 2": true,
+ "__name__ 3": true,
+ "__name__ 4": true,
+ "__name__ 5": true,
+ "__name__ 6": true,
+ "__name__ 7": true,
+ "cluster": false,
+ "cluster 2": true,
+ "cluster 3": true,
+ "cluster 4": true,
+ "cluster 5": true,
+ "cluster 6": true,
+ "cluster 7": true,
+ "id": true,
+ "influxdb_cluster": false,
+ "influxdb_cluster 2": true,
+ "influxdb_cluster 3": true,
+ "influxdb_cluster 4": true,
+ "influxdb_cluster 5": true,
+ "influxdb_cluster 6": true,
+ "influxdb_cluster 7": true,
+ "job": true,
+ "job 2": true,
+ "job 3": true,
+ "job 4": true,
+ "job 5": true,
+ "job 6": true,
+ "job 7": true
+ },
+ "indexByName": { },
+ "renameByName": {
+ "Dashboards": "",
+ "Value #A": "Uptime",
+ "Value #B": "Buckets",
+ "Value #C": "Users",
+ "Value #D": "Replications",
+ "Value #E": "Remotes",
+ "Value #F": "Scrapers",
+ "Value #G": "Dashboards",
+ "cluster": "K8s cluster",
+ "influxdb_cluster": "InfluxDB cluster",
+ "instance": "Instance"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 17
+ },
+ "id": 4,
+ "targets": [ ],
+ "title": "Queries and operations",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "HTTP API request rate for the instances with the most traffic in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 18
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk($k, sum by(job, influxdb_cluster, instance) (rate(http_api_requests_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}[$__rate_interval])))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Top instances by HTTP API requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Time taken to respond to HTTP API requests for the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "fillOpacity": 80,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineWidth": 1
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 18
+ },
+ "id": 6,
+ "options": {
+ "bucketOffset": 0,
+ "combine": false,
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "histogram_quantile(0.95, sum by(le, job, influxdb_cluster) (rate(http_api_request_duration_seconds_bucket{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}[$__rate_interval])))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}}"
+ }
+ ],
+ "title": "HTTP API request duration",
+ "type": "histogram"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of different HTTP response codes for the entire cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ],
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 18
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "pieType": "pie",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster, response_code) (rate(http_api_requests_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}[$__rate_interval])) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}} - {{response_code}}"
+ }
+ ],
+ "title": "HTTP API response codes",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of database operations from HTTP for the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 26
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster, status) (rate(http_query_request_count{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}[$__rate_interval])) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}} - query - {{status}}"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster, status) (rate(http_write_request_count{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}[$__rate_interval])) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}} - write - {{status}}"
+ }
+ ],
+ "title": "HTTP operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of database HTTP operation data for the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 26
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster) (rate(http_query_request_bytes{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}} - query - request"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster) (rate(http_query_response_bytes{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}} - query - response"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster) (rate(http_write_request_bytes{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}} - write - request"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster) (rate(http_write_response_bytes{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}} - write - response"
+ }
+ ],
+ "title": "HTTP operation data",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of InfluxQL queries for the instances with the most traffic in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "queries/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 34
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk($k, sum by(job, influxdb_cluster, instance) (rate(influxql_service_requests_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}[$__rate_interval])))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Top instances by IQL query rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Response time for recent InfluxQL queries, organized by result.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 34
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster, result) (increase(influxql_service_executing_duration_seconds_sum{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}} - {{result}}"
+ }
+ ],
+ "title": "IQL query response time / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of reads and writes to the underlying BoltDB storage engine for the entire cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 34
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(boltdb_reads_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}} - reads"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(boltdb_writes_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}} - writes"
+ }
+ ],
+ "title": "BoltDB operations",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 42
+ },
+ "id": 13,
+ "targets": [ ],
+ "title": "Task scheduler",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of tasks currently being executed for the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 43
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster) (task_scheduler_current_execution{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}}"
+ }
+ ],
+ "title": "Active tasks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of workers currently running tasks on the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 43
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster) (task_executor_total_runs_active{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}}"
+ }
+ ],
+ "title": "Active workers",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of executions and execution failures for the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 51
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(task_scheduler_total_execution_calls{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}} - total"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(task_scheduler_total_execute_failure{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}} - failed"
+ }
+ ],
+ "title": "Executions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of schedule operations and schedule operation failures for the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 51
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(task_scheduler_total_schedule_calls{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}} - total"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(task_scheduler_total_schedule_fails{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}} - failed"
+ }
+ ],
+ "title": "Schedules",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 8
+ },
+ "id": 18,
+ "targets": [ ],
+ "title": "Go",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Heap memory usage for the largest instances in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 9
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk($k, go_memstats_heap_alloc_bytes{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}/clamp_min(go_memstats_heap_idle_bytes{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"} + go_memstats_heap_alloc_bytes{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}, 1))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Top instances by heap memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Fraction of CPU time used for garbage collection for the top instances in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 9
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "go_memstats_gc_cpu_fraction{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{influxdb_cluster}} - {{instance}}"
+ }
+ ],
+ "title": "Top instances by GC CPU usage",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "influxdb-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(influxdb_uptime_seconds,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(influxdb_uptime_seconds{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "InfluxDB cluster",
+ "multi": true,
+ "name": "influxdb_cluster",
+ "options": [ ],
+ "query": "label_values(influxdb_uptime_seconds{job=~\"$job\"}, influxdb_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": {
+ "text": "5",
+ "value": "5"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Top node count",
+ "multi": false,
+ "name": "k",
+ "options": [
+ {
+ "text": "5",
+ "value": "5"
+ },
+ {
+ "text": "10",
+ "value": "10"
+ },
+ {
+ "text": "20",
+ "value": "20"
+ },
+ {
+ "text": "50",
+ "value": "50"
+ }
+ ],
+ "query": "5,10,20,50",
+ "refresh": 0,
+ "type": "custom"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "InfluxDB cluster overview",
+ "uid": "influxdb-cluster-overview",
+ "version": 0
+}
diff --git a/assets/influxdb/dashboards/influxdb-instance-overview.json b/assets/influxdb/dashboards/influxdb-instance-overview.json
new file mode 100644
index 0000000..34a33e9
--- /dev/null
+++ b/assets/influxdb/dashboards/influxdb-instance-overview.json
@@ -0,0 +1,2289 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "influxdb-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other InfluxDB dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Time that the InfluxDB process has been running.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 3,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.0-63516",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "influxdb_uptime_seconds{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Uptime",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of buckets on the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 3,
+ "x": 3,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.0-63516",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster) (influxdb_buckets_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Buckets",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total number of users for the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 3,
+ "x": 6,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.0-63516",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster) (influxdb_users_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Users",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of replication configurations on the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 3,
+ "x": 9,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.0-63516",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster) (influxdb_replications_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Replications",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of remote connections configured on the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 3,
+ "x": 12,
+ "y": 0
+ },
+ "id": 6,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.0-63516",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster) (influxdb_remotes_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Remotes",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of scrapers on the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 3,
+ "x": 15,
+ "y": 0
+ },
+ "id": 7,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.0-63516",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster) (influxdb_scrapers_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Scrapers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of dashboards on the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 3,
+ "x": 18,
+ "y": 0
+ },
+ "id": 8,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.0-63516",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster) (influxdb_dashboards_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Dashboards",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of threads currently active on the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 3,
+ "x": 21,
+ "y": 0
+ },
+ "id": 9,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.0-63516",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster) (go_threads{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Threads",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 25
+ },
+ "id": 10,
+ "targets": [ ],
+ "title": "Queries and operations",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of HTTP requests to the API, organized by response code.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 26
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster, instance, status) (rate(http_api_requests_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{status}}"
+ }
+ ],
+ "title": "HTTP API requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of active queries for the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 26
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster, instance) (qc_compiling_active{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - compiling"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster, instance) (qc_queueing_active{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - queueing"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster, instance) (qc_executing_active{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - executing"
+ }
+ ],
+ "title": "Active queries",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of database operations from HTTP for the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 34
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster, instance, status) (rate(http_query_request_count{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}[$__rate_interval])) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - query - {{status}}"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster, instance, status) (rate(http_write_request_count{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}[$__rate_interval])) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - write - {{status}}"
+ }
+ ],
+ "title": "HTTP operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of database HTTP operation data for the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 34
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster, instance) (rate(http_query_request_bytes{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - query request"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster, instance) (rate(http_query_response_bytes{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - query response"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster, instance) (rate(http_write_request_bytes{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - write request"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster, instance) (rate(http_write_response_bytes{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - write response"
+ }
+ ],
+ "title": "HTTP operation data",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of InfluxQL queries for the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "queries/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 42
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster, instance, result) (rate(influxql_service_requests_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{result}}"
+ }
+ ],
+ "title": "IQL query rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Response time for recent InfluxQL queries, organized by result.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 42
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, influxdb_cluster, instance, result) (increase(influxql_service_executing_duration_seconds_sum{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{result}}"
+ }
+ ],
+ "title": "IQL query response time / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of reads and writes to the underlying BoltDB storage engine for the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 42
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(boltdb_reads_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - reads"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(boltdb_writes_total{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - writes"
+ }
+ ],
+ "title": "BoltDB operations",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 50
+ },
+ "id": 18,
+ "targets": [ ],
+ "title": "Task scheduler",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of tasks currently being executed for the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 51
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "task_scheduler_current_execution{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Active tasks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of workers currently running tasks on the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 51
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "task_executor_total_runs_active{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Active workers",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Percentage of available workers that are currently busy.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 51
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "task_executor_workers_busy{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Worker usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of executions and execution failures for the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 59
+ },
+ "id": 22,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(task_scheduler_total_execution_calls{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - total"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(task_scheduler_total_execute_failure{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - failed"
+ }
+ ],
+ "title": "Executions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of schedule operations and schedule operation failures for the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 59
+ },
+ "id": 23,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(task_scheduler_total_schedule_calls{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - total"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(task_scheduler_total_schedule_fails{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - failed"
+ }
+ ],
+ "title": "Schedules",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 8
+ },
+ "id": 24,
+ "targets": [ ],
+ "title": "Go",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Amount of time since the last garbage collection cycle.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 9
+ },
+ "id": 25,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.0-63516",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "time() - go_memstats_last_gc_time_seconds{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Time since last GC",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Server CPU time spent on garbage collection.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 9,
+ "x": 6,
+ "y": 9
+ },
+ "id": 26,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(go_gc_duration_seconds_sum{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "GC time / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Percent of server CPU time used for garbage collection.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 9,
+ "x": 15,
+ "y": 9
+ },
+ "id": 27,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "go_memstats_gc_cpu_fraction{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "GC CPU usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Heap memory usage for the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 17
+ },
+ "id": 28,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "go_memstats_heap_alloc_bytes{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}/clamp_min((go_memstats_heap_idle_bytes{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"} + go_memstats_heap_alloc_bytes{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}), 1)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Heap memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of OS threads created for the server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 17
+ },
+ "id": 29,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "go_threads{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\", instance=~\"$instance\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Go threads",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "influxdb-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(influxdb_uptime_seconds,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(influxdb_uptime_seconds{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "InfluxDB cluster",
+ "multi": true,
+ "name": "influxdb_cluster",
+ "options": [ ],
+ "query": "label_values(influxdb_uptime_seconds{job=~\"$job\"}, influxdb_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(influxdb_uptime_seconds{job=~\"$job\", influxdb_cluster=~\"$influxdb_cluster\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "InfluxDB instance overview",
+ "uid": "influxdb-instance-overview",
+ "version": 0
+}
diff --git a/assets/influxdb/dashboards/influxdb-logs.json b/assets/influxdb/dashboards/influxdb-logs.json
new file mode 100644
index 0000000..edb2d18
--- /dev/null
+++ b/assets/influxdb/dashboards/influxdb-logs.json
@@ -0,0 +1,340 @@
+{
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "influxdb-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other InfluxDB dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Logs volume grouped by \"level\" label.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "drawStyle": "bars",
+ "fillOpacity": 50,
+ "stacking": {
+ "mode": "normal"
+ }
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)merg|(F|f)atal|(A|a)lert|(C|c)rit.*"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)(rr.*|RR.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(W|w)(arn.*|ARN.*|rn|RN)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(N|n)(otice|ote)|(I|i)(nf.*|NF.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "dbg.*|DBG.*|(D|d)(EBUG|ebug)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(T|t)(race|RACE)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "logs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24
+ },
+ "id": 1,
+ "interval": "30s",
+ "options": {
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "sum by (level) (count_over_time({job=~\"integrations/influxdb\",job=~\"$job\",influxdb_cluster=~\"$influxdb_cluster\",instance=~\"$instance\",level=~\"$level\",service=~\"$service\",engine=~\"$engine\"}\n|~ \"$regex_search\"\n\n[$__interval]))\n",
+ "legendFormat": "{{ level }}"
+ }
+ ],
+ "title": "Logs volume",
+ "transformations": [
+ {
+ "id": "renameByRegex",
+ "options": {
+ "regex": "Value",
+ "renamePattern": "logs"
+ }
+ }
+ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "gridPos": {
+ "h": 18,
+ "w": 24
+ },
+ "id": 2,
+ "options": {
+ "dedupStrategy": "exact",
+ "enableLogDetails": true,
+ "prettifyLogMessage": true,
+ "showTime": false,
+ "wrapLogMessage": true
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "{job=~\"integrations/influxdb\",job=~\"$job\",influxdb_cluster=~\"$influxdb_cluster\",instance=~\"$instance\",level=~\"$level\",service=~\"$service\",engine=~\"$engine\"} \n|~ \"$regex_search\"\n\n\n"
+ }
+ ],
+ "title": "Logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "influxdb-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values({job=~\"integrations/influxdb\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Influxdb_cluster",
+ "multi": true,
+ "name": "influxdb_cluster",
+ "query": "label_values({job=~\"integrations/influxdb\",job=~\"$job\"}, influxdb_cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values({job=~\"integrations/influxdb\",job=~\"$job\",influxdb_cluster=~\"$influxdb_cluster\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Level",
+ "multi": true,
+ "name": "level",
+ "query": "label_values({job=~\"integrations/influxdb\",job=~\"$job\",influxdb_cluster=~\"$influxdb_cluster\",instance=~\"$instance\"}, level)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Service",
+ "multi": true,
+ "name": "service",
+ "query": "label_values({job=~\"integrations/influxdb\",job=~\"$job\",influxdb_cluster=~\"$influxdb_cluster\",instance=~\"$instance\",level=~\"$level\"}, service)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Engine",
+ "multi": true,
+ "name": "engine",
+ "query": "label_values({job=~\"integrations/influxdb\",job=~\"$job\",influxdb_cluster=~\"$influxdb_cluster\",instance=~\"$instance\",level=~\"$level\",service=~\"$service\"}, engine)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "",
+ "value": ""
+ },
+ "label": "Regex search",
+ "name": "regex_search",
+ "options": [
+ {
+ "selected": true,
+ "text": "",
+ "value": ""
+ }
+ ],
+ "query": "",
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timezone": "utc",
+ "title": "InfluxDB logs overview",
+ "uid": "influxdb-logs-overview"
+}
diff --git a/assets/influxdb/rules.yaml b/assets/influxdb/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/influxdb/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/istio/alerts.yaml b/assets/istio/alerts.yaml
new file mode 100644
index 0000000..6501f1e
--- /dev/null
+++ b/assets/istio/alerts.yaml
@@ -0,0 +1,81 @@
+groups:
+- name: istio-alerts-istio
+ rules:
+ - alert: IstioHighRequestLatencyWarning
+ annotations:
+ description: |
+ Requests from Istio service {{$labels.source_canonical_service}} to service {{$labels.destination_canonical_service}} on cluster {{$labels.cluster}} has an average latency of {{ printf "%.0f" $value }}ms, which is above the threshold of 4000.
+ summary: High request latency between pods can indicate that there are performance
+ issues within the k8s environment.
+ expr: |
+ sum without(connection_security_policy, destination_app, destination_canonical_revision, destination_service_name, destination_cluster, destination_principal, destination_service, destination_service_namespace, destination_version, destination_workload, destination_workload_namespace, grpc_response_status, instance, pod, reporter, request_protocol, response_code, response_flags, source_app, source_canonical_revision, source_cluster, source_principal, source_version, source_workload, source_workload_namespace) (increase(istio_request_duration_milliseconds_sum{job=~"integrations/istio", reporter="source"}[5m]))
+ /
+ clamp_min(sum without(connection_security_policy, destination_app, destination_canonical_revision, destination_service_name, destination_cluster, destination_principal, destination_service, destination_service_namespace, destination_version, destination_workload, destination_workload_namespace, grpc_response_status, instance, pod, reporter, request_protocol, response_code, response_flags, source_app, source_canonical_revision, source_cluster, source_principal, source_version, source_workload, source_workload_namespace) (increase(istio_request_duration_milliseconds_count{job=~"integrations/istio", reporter="source"}[5m])), 1) > 4000
+ for: 5m
+ labels:
+ severity: warning
+ - alert: IstioGalleyValidationFailuresWarning
+ annotations:
+ description: |
+ {{$labels.pod}} on cluster {{$labels.cluster}} has had {{ printf "%.0f" $value }} Galley validation failures, which is above the thresold of 0.
+ summary: Istio Galley is reporting failures for a number of configurations.
+ expr: |
+ sum without(instance) (increase(galley_validation_failed{job=~"integrations/istio", pod=~"istiod.*"}[5m])) > 0
+ for: 1m
+ labels:
+ severity: warning
+ - alert: IstioListenerConfigConflictsCritical
+ annotations:
+ description: |
+ {{$labels.pod}} on cluster {{$labels.cluster}} has had {{ printf "%.0f" $value }} inbound and or outbound listener conflicts reported from envoy proxies, which is above the threshold of 0.
+ summary: Istio Pilot is seeing a number of inbound and or outbound listener
+ conflicts by envoy proxies.
+ expr: |
+ sum without(instance) (increase(pilot_conflict_inbound_listener{job=~"integrations/istio", pod=~"istiod.*"}[5m])) + sum without(instance) (increase(pilot_conflict_outbound_listener_tcp_over_current_tcp{job=~"integrations/istio", pod=~"istiod.*"}[5m])) > 0
+ for: 1m
+ labels:
+ severity: critical
+ - alert: IstioXDSConfigRejectionsWarning
+ annotations:
+ description: |
+ {{$labels.pod}} on cluster {{$labels.cluster}} has had {{ printf "%.0f" $value }} xDS rejections from envoy proxies, which is above the threshold of 0.
+ summary: Istio Pilot is seeing a number of xDS rejections from envoy proxies.
+ expr: |
+ sum without(instance) (increase(pilot_total_xds_rejects{job=~"integrations/istio", pod=~"istiod.*"}[5m])) > 0
+ for: 1m
+ labels:
+ severity: warning
+ - alert: IstioHighHTTPRequestErrorsCritical
+ annotations:
+ description: |
+ HTTP requests from Istio service {{$labels.source_canonical_service}} to service {{$labels.destination_canonical_service}} on cluster {{$labels.cluster}} have an error rate above {{ printf "%.0f" $value }}%, which is above the threshold of 5%.
+ summary: There are a high number of HTTP request errors in the Istio system.
+ expr: |
+ 100 * sum without(connection_security_policy, destination_app, destination_canonical_revision, destination_service_name, destination_cluster, destination_principal, destination_service, destination_service_namespace, destination_version, destination_workload, destination_workload_namespace, grpc_response_status, instance, pod, reporter, request_protocol, response_code, response_flags, source_app, source_canonical_revision, source_cluster, source_principal, source_version, source_workload, source_workload_namespace) (increase(istio_requests_total{job=~"integrations/istio", reporter="source", request_protocol="http", response_code=~"[45].+"}[5m]))
+ /
+ clamp_min(sum without(connection_security_policy, destination_app, destination_canonical_revision, destination_service_name, destination_cluster, destination_principal, destination_service, destination_service_namespace, destination_version, destination_workload, destination_workload_namespace, grpc_response_status, instance, pod, reporter, request_protocol, response_code, response_flags, source_app, source_canonical_revision, source_cluster, source_principal, source_version, source_workload, source_workload_namespace) (increase(istio_requests_total{job=~"integrations/istio", reporter="source", request_protocol="http"}[5m])), 1) > 5
+ for: 5m
+ labels:
+ severity: critical
+ - alert: IstioHighGRPCRequestErrorsCritical
+ annotations:
+ description: |
+ GRPC requests from Istio service {{$labels.source_canonical_service}} to service {{$labels.destination_canonical_service}} on cluster {{$labels.cluster}} have an error rate above {{ printf "%.0f" $value }}%, which is above the threshold of 5%.
+ summary: There are a high number of GRPC request errors in the Istio system.
+ expr: |
+ 100 * sum without(connection_security_policy, destination_app, destination_canonical_revision, destination_service_name, destination_cluster, destination_principal, destination_service, destination_service_namespace, destination_version, destination_workload, destination_workload_namespace, grpc_response_status, instance, pod, reporter, request_protocol, response_code, response_flags, source_app, source_canonical_revision, source_cluster, source_principal, source_version, source_workload, source_workload_namespace) (increase(istio_requests_total{job=~"integrations/istio", reporter="source", grpc_response_status=~"[1-9]\\d*"}[5m]))
+ /
+ clamp_min(sum without(connection_security_policy, destination_app, destination_canonical_revision, destination_service_name, destination_cluster, destination_principal, destination_service, destination_service_namespace, destination_version, destination_workload, destination_workload_namespace, grpc_response_status, instance, pod, reporter, request_protocol, response_code, response_flags, source_app, source_canonical_revision, source_cluster, source_principal, source_version, source_workload, source_workload_namespace) (increase(istio_requests_total{job=~"integrations/istio", reporter="source", grpc_response_status=~"[0-9]\\d*"}[5m])), 1) > 5
+ for: 5m
+ labels:
+ severity: critical
+ - alert: IstioMetricsDown
+ annotations:
+ description: There are no available metrics for Istio integration from pod {{$labels.pod}}
+ in cluster {{$labels.cluster}}.
+ summary: Istio metrics are down.
+ expr: |
+ up{job=~"integrations/istio"} == 0
+ for: 5m
+ labels:
+ severity: critical
diff --git a/assets/istio/dashboards/logs b/assets/istio/dashboards/logs
new file mode 100644
index 0000000..59375b5
--- /dev/null
+++ b/assets/istio/dashboards/logs
@@ -0,0 +1,383 @@
+{
+ "links": [
+ {
+ "keepTime": true,
+ "title": "Istio overview",
+ "type": "link",
+ "url": "/d/istio-overview"
+ },
+ {
+ "keepTime": true,
+ "title": "Istio services overview",
+ "type": "link",
+ "url": "/d/istio-services-overview"
+ },
+ {
+ "keepTime": true,
+ "title": "Istio workloads overview",
+ "type": "link",
+ "url": "/d/istio-workloads-overview"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Logs volume grouped by \"response_code\" label.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "drawStyle": "bars",
+ "fillOpacity": 50,
+ "stacking": {
+ "mode": "normal"
+ }
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)merg|(F|f)atal|(A|a)lert|(C|c)rit.*"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)(rr.*|RR.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(W|w)(arn.*|ARN.*|rn|RN)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(N|n)(otice|ote)|(I|i)(nf.*|NF.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "dbg.*|DBG.*|(D|d)(EBUG|ebug)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(T|t)(race|RACE)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "logs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24
+ },
+ "id": 1,
+ "interval": "30s",
+ "options": {
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "sum by (response_code) (count_over_time({job=~\"integrations/istio\",job=~\"$job\",cluster=~\"$cluster\",pod=~\"$pod\",log_type=~\"$log_type\",protocol=~\"$protocol\",request_method=~\"$request_method\",response_code=~\"$response_code\",level=~\"$level\"}\n|~ \"$regex_search\"\n\n[$__interval]))\n",
+ "legendFormat": "{{ response_code }}"
+ }
+ ],
+ "title": "Logs volume",
+ "transformations": [
+ {
+ "id": "renameByRegex",
+ "options": {
+ "regex": "Value",
+ "renamePattern": "logs"
+ }
+ }
+ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "gridPos": {
+ "h": 18,
+ "w": 24
+ },
+ "id": 2,
+ "options": {
+ "dedupStrategy": "exact",
+ "enableLogDetails": true,
+ "prettifyLogMessage": true,
+ "showTime": false,
+ "wrapLogMessage": false
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "{job=~\"integrations/istio\",job=~\"$job\",cluster=~\"$cluster\",pod=~\"$pod\",log_type=~\"$log_type\",protocol=~\"$protocol\",request_method=~\"$request_method\",response_code=~\"$response_code\",level=~\"$level\"} \n|~ \"$regex_search\"\n\n\n"
+ }
+ ],
+ "title": "Logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "istio"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values({job=~\"integrations/istio\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "query": "label_values({job=~\"integrations/istio\",job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Pod",
+ "multi": true,
+ "name": "pod",
+ "query": "label_values({job=~\"integrations/istio\",job=~\"$job\",cluster=~\"$cluster\"}, pod)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Log_type",
+ "multi": true,
+ "name": "log_type",
+ "query": "label_values({job=~\"integrations/istio\",job=~\"$job\",cluster=~\"$cluster\",pod=~\"$pod\"}, log_type)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Protocol",
+ "multi": true,
+ "name": "protocol",
+ "query": "label_values({job=~\"integrations/istio\",job=~\"$job\",cluster=~\"$cluster\",pod=~\"$pod\",log_type=~\"$log_type\"}, protocol)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Request_method",
+ "multi": true,
+ "name": "request_method",
+ "query": "label_values({job=~\"integrations/istio\",job=~\"$job\",cluster=~\"$cluster\",pod=~\"$pod\",log_type=~\"$log_type\",protocol=~\"$protocol\"}, request_method)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Response_code",
+ "multi": true,
+ "name": "response_code",
+ "query": "label_values({job=~\"integrations/istio\",job=~\"$job\",cluster=~\"$cluster\",pod=~\"$pod\",log_type=~\"$log_type\",protocol=~\"$protocol\",request_method=~\"$request_method\"}, response_code)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Level",
+ "multi": true,
+ "name": "level",
+ "query": "label_values({job=~\"integrations/istio\",job=~\"$job\",cluster=~\"$cluster\",pod=~\"$pod\",log_type=~\"$log_type\",protocol=~\"$protocol\",request_method=~\"$request_method\",response_code=~\"$response_code\"}, level)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "",
+ "value": ""
+ },
+ "label": "Regex search",
+ "name": "regex_search",
+ "options": [
+ {
+ "selected": true,
+ "text": "",
+ "value": ""
+ }
+ ],
+ "query": "",
+ "type": "textbox"
+ },
+ {
+ "hide": 2,
+ "label": "Data source",
+ "name": "datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "Istio logs",
+ "uid": "istio-logs"
+}
diff --git a/assets/istio/dashboards/overview b/assets/istio/dashboards/overview
new file mode 100644
index 0000000..11e9160
--- /dev/null
+++ b/assets/istio/dashboards/overview
@@ -0,0 +1,1757 @@
+{
+ "links": [
+ {
+ "keepTime": true,
+ "title": "Istio logs",
+ "type": "link",
+ "url": "/d/istio-logs"
+ },
+ {
+ "keepTime": true,
+ "title": "Istio services overview",
+ "type": "link",
+ "url": "/d/istio-services-overview"
+ },
+ {
+ "keepTime": true,
+ "title": "Istio workloads overview",
+ "type": "link",
+ "url": "/d/istio-workloads-overview"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Number of proxies in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "steps": [
+ {
+ "color": "super-light-red",
+ "value": null
+ },
+ {
+ "color": "super-light-green",
+ "value": 1
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "options": {
+ "graphMode": "none"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "count by(job, cluster) (istio_build{job=~\"$job\",cluster=~\"$cluster\", component=\"proxy\"})"
+ }
+ ],
+ "title": "Proxies",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Number of gateways in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "steps": [
+ {
+ "color": "text",
+ "value": null
+ },
+ {
+ "color": "super-light-green",
+ "value": 1
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 4,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "graphMode": "none"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "max(pilot_k8s_cfg_events{job=~\"$job\",cluster=~\"$cluster\", type=\"Gateway\", event=\"add\"}) - (max(pilot_k8s_cfg_events{job=~\"$job\",cluster=~\"$cluster\", type=\"Gateway\", event=\"delete\"}) or max(up * 0))"
+ }
+ ],
+ "title": "Gateways",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Number of virtual services in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "steps": [
+ {
+ "color": "text",
+ "value": null
+ },
+ {
+ "color": "super-light-green",
+ "value": 1
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 8,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "graphMode": "none"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "max(pilot_k8s_cfg_events{job=~\"$job\",cluster=~\"$cluster\", type=\"VirtualService\", event=\"add\"}) - (max(pilot_k8s_cfg_events{job=~\"$job\",cluster=~\"$cluster\", type=\"VirtualService\", event=\"delete\"}) or (max(up) * 0))"
+ }
+ ],
+ "title": "Virtual services",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "alertInstanceLabelFilter": "job=~\"${job:regex}\",cluster=~\"${cluster:regex}\""
+ },
+ "pluginVersion": "v10.0.0",
+ "title": "Istio alerts",
+ "type": "alertlist"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Number of destination rules in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "steps": [
+ {
+ "color": "super-light-orange",
+ "value": null
+ },
+ {
+ "color": "super-light-green",
+ "value": 1
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 4
+ },
+ "id": 5,
+ "options": {
+ "graphMode": "none"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "max(pilot_k8s_cfg_events{job=~\"$job\",cluster=~\"$cluster\", type=\"DestinationRule\", event=\"add\"}) - (max(pilot_k8s_cfg_events{job=~\"$job\",cluster=~\"$cluster\", type=\"DestinationRule\", event=\"delete\"}) or (max(up) * 0))"
+ }
+ ],
+ "title": "Destination rules",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Number of service entries in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "steps": [
+ {
+ "color": "text",
+ "value": null
+ },
+ {
+ "color": "super-light-green",
+ "value": 1
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 4,
+ "y": 4
+ },
+ "id": 6,
+ "options": {
+ "graphMode": "none"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "max(pilot_k8s_cfg_events{job=~\"$job\",cluster=~\"$cluster\", type=\"ServiceEntry\", event=\"add\"}) - (max(pilot_k8s_cfg_events{job=~\"$job\",cluster=~\"$cluster\", type=\"ServiceEntry\", event=\"delete\"}) or (max(up) * 0))"
+ }
+ ],
+ "title": "Service entries",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Number of workload entries in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "steps": [
+ {
+ "color": "text",
+ "value": null
+ },
+ {
+ "color": "super-light-green",
+ "value": 1
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 8,
+ "y": 4
+ },
+ "id": 7,
+ "options": {
+ "graphMode": "none"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "max(pilot_k8s_cfg_events{job=~\"$job\",cluster=~\"$cluster\", type=\"WorkloadEntry\", event=\"add\"}) - (max(pilot_k8s_cfg_events{job=~\"$job\",cluster=~\"$cluster\", type=\"WorkloadEntry\", event=\"delete\"}) or (max(up) * 0))"
+ }
+ ],
+ "title": "Workload entries",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Number of open file descriptors for various components of the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 4
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (process_open_fds{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})",
+ "legendFormat": "{{cluster}} - istiod"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (istio_agent_process_open_fds{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$gateway\"})",
+ "legendFormat": "{{cluster}} - gateway"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (istio_agent_process_open_fds{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$proxy\"})",
+ "legendFormat": "{{cluster}} - proxy"
+ }
+ ],
+ "title": "Open file descriptors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "vCPU usage for various components of the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 10
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (job, cluster) (rate(process_cpu_seconds_total{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"}[$__rate_interval]))",
+ "legendFormat": "{{cluster}} - istiod"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (rate(istio_agent_process_cpu_seconds_total{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$gateway\"}[$__rate_interval]))",
+ "legendFormat": "{{cluster}} - gateway"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (rate(istio_agent_process_cpu_seconds_total{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$proxy\"}[$__rate_interval]))",
+ "legendFormat": "{{cluster}} - proxy"
+ }
+ ],
+ "title": "vCPU usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Heap memory information for the various components of the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "min": 0,
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*(T|t)otal.*"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-orange",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ },
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "dash": [
+ 10,
+ 10
+ ],
+ "fill": "dash"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 10
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (go_memstats_heap_alloc_bytes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})",
+ "legendFormat": "{{cluster}} - istiod - alloc"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (go_memstats_heap_inuse_bytes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})",
+ "legendFormat": "{{cluster}} - istiod - inuse"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (go_memstats_heap_sys_bytes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})",
+ "legendFormat": "{{cluster}} - istiod - sys"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (istio_agent_go_memstats_heap_alloc_bytes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$gateway\"})",
+ "legendFormat": "{{cluster}} - gateway - alloc"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (istio_agent_go_memstats_heap_inuse_bytes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$gateway\"})",
+ "legendFormat": "{{cluster}} - gateway - inuse"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (istio_agent_go_memstats_heap_sys_bytes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$gateway\"})",
+ "legendFormat": "{{cluster}} - gateway - sys"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (istio_agent_go_memstats_heap_alloc_bytes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$proxy\"})",
+ "legendFormat": "{{cluster}} - proxy - alloc"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (istio_agent_go_memstats_heap_inuse_bytes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$proxy\"})",
+ "legendFormat": "{{cluster}} - proxy - inuse"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (istio_agent_go_memstats_heap_sys_bytes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$proxy\"})",
+ "legendFormat": "{{cluster}} - proxy - sys"
+ }
+ ],
+ "title": "Heap memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Available virtual memory compared to the resident memory for the various components of the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never"
+ },
+ "min": 0,
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*(T|t)otal.*"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-orange",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ },
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "dash": [
+ 10,
+ 10
+ ],
+ "fill": "dash"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (process_virtual_memory_bytes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})",
+ "legendFormat": "{{cluster}} - istiod - virtual"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (process_resident_memory_bytes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})",
+ "legendFormat": "{{cluster}} - istiod - resident"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (istio_agent_process_virtual_memory_bytes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$gateway\"})",
+ "legendFormat": "{{cluster}} - gateway - virtual"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (istio_agent_process_resident_memory_bytes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$gateway\"})",
+ "legendFormat": "{{cluster}} - gateway - resident"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (istio_agent_process_virtual_memory_bytes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$proxy\"})",
+ "legendFormat": "{{cluster}} - proxy - virtual"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (istio_agent_process_resident_memory_bytes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$proxy\"})",
+ "legendFormat": "{{cluster}} - proxy - resident"
+ }
+ ],
+ "title": "Virtual & resident memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "HTTP/GRPC request rate for the components of the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "reqps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 16,
+ "x": 0,
+ "y": 22
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (rate(istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$gateway\", reporter=\"source\"}[$__rate_interval]))",
+ "legendFormat": "{{cluster}} - gateway"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (rate(istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$proxy\", reporter=\"source\"}[$__rate_interval]))",
+ "legendFormat": "{{cluster}} - proxy"
+ }
+ ],
+ "title": "HTTP/GRPC requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Recent number of successful (1xx, 2xx, 3xx) vs error (4xx, 5xx) HTTP responses received by various components of the Istio system.",
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 22
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "placement": "right"
+ },
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ]
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$gateway\", reporter=\"source\", request_protocol=\"http\", response_code=~\"[123].+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - gateway - ok"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$gateway\", reporter=\"source\", request_protocol=\"http\", response_code=~\"[45].+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - gateway - error"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$proxy\", reporter=\"source\", request_protocol=\"http\", response_code=~\"[123].+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - proxy - ok"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$proxy\", reporter=\"source\", request_protocol=\"http\", response_code=~\"[45].+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - proxy - error"
+ }
+ ],
+ "title": "HTTP response overview",
+ "type": "piechart"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 30
+ },
+ "id": 14,
+ "title": "Control plane",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Number of xDS pushes by Istiod over the entire time range for the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "steps": [
+ {
+ "color": "super-light-green"
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 31
+ },
+ "id": 15,
+ "options": {
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by (job, cluster) (pilot_xds_pushes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\", type=\"cds\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - CDS"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by (job, cluster) (pilot_xds_pushes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\", type=\"eds\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - EDS"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by (job, cluster) (pilot_xds_pushes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\", type=\"lds\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - LDS"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by (job, cluster) (pilot_xds_pushes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\", type=\"rds\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - RDS"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by (job, cluster) (pilot_xds_pushes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\", type=\"sds\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - SDS"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by (job, cluster) (pilot_xds_pushes{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\", type=\"nds\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - NDS"
+ }
+ ],
+ "title": "xDS pushes",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The latency of xDS pushes by Istiod over the entire time range for the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "steps": [
+ {
+ "color": "super-light-green"
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 31
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "placement": "right"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(le, job, cluster) (increase(pilot_proxy_convergence_time_bucket{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"}[$__range:]))",
+ "format": "heatmap",
+ "instant": true,
+ "interval": "1m",
+ "legendFormat": "{{cluster}}"
+ }
+ ],
+ "title": "xDS push delay (s)",
+ "type": "histogram"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Number of galley validations over the entire time range for the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "steps": [
+ {
+ "color": "super-light-green"
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 31
+ },
+ "id": 17,
+ "options": {
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster) (galley_validation_passed{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - passed"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster) (galley_validation_failed{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - failed"
+ }
+ ],
+ "title": "Galley validations",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The send and receive data rates from all envoy proxies in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 37
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (rate(envoy_cluster_upstream_cx_rx_bytes_total{job=~\"$job\",cluster=~\"$cluster\", cluster_name=\"xds-grpc\"}[$__rate_interval]))",
+ "legendFormat": "{{cluster}} - sent"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster) (rate(envoy_cluster_upstream_cx_tx_bytes_total{job=~\"$job\",cluster=~\"$cluster\", cluster_name=\"xds-grpc\"}[$__rate_interval]))",
+ "legendFormat": "{{cluster}} - received"
+ }
+ ],
+ "title": "xDS envoy throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The xDS related errors across the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 37
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by (job, cluster) (pilot_xds_cds_reject{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - CDS reject"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by (job, cluster) (pilot_xds_eds_reject{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - EDS reject"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by (job, cluster) (pilot_xds_rds_reject{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - RDS reject"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by (job, cluster) (pilot_xds_lds_reject{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - LDS reject"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by (job, cluster) (pilot_xds_write_timeout{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - write timeout"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by (job, cluster) (pilot_total_xds_internal_errors{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - internal"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by (job, cluster) (pilot_total_xds_rejects{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - proxy rejects"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by (job, cluster) (pilot_conflict_inbound_listener{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - in listener conflict"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by (job, cluster) (pilot_conflict_outbound_listener_tcp_over_current_tcp{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - out listener tcp conflict"
+ }
+ ],
+ "title": "xDS errors / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Number of sidecar injections over the entire time range for the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "steps": [
+ {
+ "color": "super-light-green"
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 37
+ },
+ "id": 20,
+ "options": {
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by (job, cluster) (sidecar_injection_success_total{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - success"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by (job, cluster) (sidecar_injection_failure_total{job=~\"$job\",cluster=~\"$cluster\",pod=~\"$istiod\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{cluster}} - failure"
+ }
+ ],
+ "title": "Sidecar injections",
+ "type": "bargauge"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 43
+ },
+ "id": 21,
+ "title": "Services",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Service details for the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "noValue": "NA"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Service"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "",
+ "url": "d/istio-services-overview?var-datasource=${datasource}&var-job=${__data.fields[\"Job\"]}&var-cluster=${__data.fields[\"Cluster\"]}&var-service=${__value.raw}&${__url_time_range}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP/GRPC tx delay"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 157
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP/GRPC rx delay"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 157
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP/GRPC tx"
+ },
+ "properties": [
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "unit",
+ "value": "reqps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP/GRPC rx"
+ },
+ "properties": [
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "unit",
+ "value": "reqps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP tx success"
+ },
+ "properties": [
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "unit",
+ "value": "percent"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP rx success"
+ },
+ "properties": [
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "unit",
+ "value": "percent"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "TCP tx"
+ },
+ "properties": [
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "unit",
+ "value": "Bps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "TCP rx"
+ },
+ "properties": [
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "unit",
+ "value": "Bps"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 44
+ },
+ "id": 22,
+ "options": {
+ "footer": {
+ "options": {
+ "footer": {
+ "reducer": [
+ "sum"
+ ]
+ }
+ }
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, service) (label_replace(rate(istio_requests_total{job=~\"$job\",cluster=~\"$cluster\", reporter=\"source\"}[$__rate_interval]), \"service\", \"$1\", \"source_canonical_service\", \"(.*)\"))",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, service) (label_replace(rate(istio_requests_total{job=~\"$job\",cluster=~\"$cluster\", reporter=\"destination\"}[$__rate_interval]), \"service\", \"$1\", \"destination_canonical_service\", \"(.*)\"))",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, service) (label_replace(increase(istio_request_duration_milliseconds_sum{job=~\"$job\",cluster=~\"$cluster\", reporter=\"source\"}[$__rate_interval:]), \"service\", \"$1\", \"source_canonical_service\", \"(.*)\"))\n/\nclamp_min(sum by(job, cluster, service) (label_replace(increase(istio_request_duration_milliseconds_count{job=~\"$job\",cluster=~\"$cluster\", reporter=\"source\"}[$__rate_interval:]), \"service\", \"$1\", \"source_canonical_service\", \"(.*)\")), 1)\n",
+ "format": "table",
+ "instant": true,
+ "interval": "1m"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, service) (label_replace(increase(istio_request_duration_milliseconds_sum{job=~\"$job\",cluster=~\"$cluster\", reporter=\"destination\"}[$__rate_interval:]), \"service\", \"$1\", \"destination_canonical_service\", \"(.*)\"))\n/\nclamp_min(sum by(job, cluster, service) (label_replace(increase(istio_request_duration_milliseconds_count{job=~\"$job\",cluster=~\"$cluster\", reporter=\"destination\"}[$__rate_interval:]), \"service\", \"$1\", \"destination_canonical_service\", \"(.*)\")), 1)\n",
+ "format": "table",
+ "instant": true,
+ "interval": "1m"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "100 * sum by(job, cluster, service) (label_replace(increase(istio_requests_total{job=~\"$job\",cluster=~\"$cluster\", reporter=\"source\", request_protocol=\"http\", response_code=~\"[123].+\"}[$__rate_interval:]), \"service\", \"$1\", \"source_canonical_service\", \"(.*)\"))\n/\nclamp_min(sum by(job, cluster, service) (label_replace(increase(istio_requests_total{job=~\"$job\",cluster=~\"$cluster\", reporter=\"source\", request_protocol=\"http\"}[$__rate_interval:]), \"service\", \"$1\", \"source_canonical_service\", \"(.*)\")), 1)\n",
+ "format": "table",
+ "instant": true,
+ "interval": "1m"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "100 * sum by(job, cluster, service) (label_replace(increase(istio_requests_total{job=~\"$job\",cluster=~\"$cluster\", reporter=\"destination\", request_protocol=\"http\", response_code=~\"[123].+\"}[$__rate_interval:]), \"service\", \"$1\", \"destination_canonical_service\", \"(.*)\"))\n/\nclamp_min(sum by(job, cluster, service) (label_replace(increase(istio_requests_total{job=~\"$job\",cluster=~\"$cluster\", reporter=\"destination\", request_protocol=\"http\"}[$__rate_interval:]), \"service\", \"$1\", \"destination_canonical_service\", \"(.*)\")), 1)\n",
+ "format": "table",
+ "instant": true,
+ "interval": "1m"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, service) (label_replace(rate(istio_tcp_received_bytes_total{job=~\"$job\",cluster=~\"$cluster\", reporter=\"source\"}[$__rate_interval]), \"service\", \"$1\", \"source_canonical_service\", \"(.*)\"))",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, service) (label_replace(rate(istio_tcp_sent_bytes_total{job=~\"$job\",cluster=~\"$cluster\", reporter=\"destination\"}[$__rate_interval]), \"service\", \"$1\", \"destination_canonical_service\", \"(.*)\"))",
+ "format": "table",
+ "instant": true
+ }
+ ],
+ "title": "Services",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": { }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "includeByName": { },
+ "indexByName": {
+ "Time": 0,
+ "Value #A": 4,
+ "Value #B": 7,
+ "Value #C": 5,
+ "Value #D": 8,
+ "Value #E": 6,
+ "Value #F": 9,
+ "Value #G": 10,
+ "Value #H": 11,
+ "cluster": 1,
+ "job": 2,
+ "service": 3
+ },
+ "renameByName": {
+ "Value #A": "HTTP/GRPC tx",
+ "Value #B": "HTTP/GRPC rx",
+ "Value #C": "HTTP/GRPC tx delay",
+ "Value #D": "HTTP/GRPC rx delay",
+ "Value #E": "HTTP tx success",
+ "Value #F": "HTTP rx success",
+ "Value #G": "TCP tx",
+ "Value #H": "TCP rx",
+ "cluster": "Cluster",
+ "job": "Job",
+ "service": "Service"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "istio"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Data source",
+ "name": "datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(istiod_uptime_seconds{}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "K8s cluster",
+ "multi": true,
+ "name": "cluster",
+ "query": "label_values(istiod_uptime_seconds{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Istiod",
+ "multi": true,
+ "name": "istiod",
+ "query": "label_values(pilot_info{job=~\"$job\", cluster=~\"$cluster\"}, pod)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Gateway",
+ "multi": true,
+ "name": "gateway",
+ "query": "label_values(istio_agent_process_cpu_seconds_total{job=~\"$job\", cluster=~\"$cluster\", pod=~\"istio-egress.*|istio-ingress.*\"}, pod)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Proxy",
+ "multi": true,
+ "name": "proxy",
+ "query": "label_values(istio_agent_process_cpu_seconds_total{job=~\"$job\", cluster=~\"$cluster\", pod!~\"istio-egress.*|istio-ingress.*\"}, pod)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "Istio overview",
+ "uid": "istio-overview"
+}
diff --git a/assets/istio/dashboards/servicesOverview b/assets/istio/dashboards/servicesOverview
new file mode 100644
index 0000000..f0d1755
--- /dev/null
+++ b/assets/istio/dashboards/servicesOverview
@@ -0,0 +1,1658 @@
+{
+ "links": [
+ {
+ "keepTime": true,
+ "title": "Istio logs",
+ "type": "link",
+ "url": "/d/istio-logs"
+ },
+ {
+ "keepTime": true,
+ "title": "Istio overview",
+ "type": "link",
+ "url": "/d/istio-overview"
+ },
+ {
+ "keepTime": true,
+ "title": "Istio workloads overview",
+ "type": "link",
+ "url": "/d/istio-workloads-overview"
+ }
+ ],
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "title": "Client details",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of HTTP/GRPC requests sent from this service to server services in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "reqps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 1
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_canonical_service, destination_canonical_service) (rate(istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\",destination_canonical_service=~\"$server_service\", reporter=\"source\"}[$__rate_interval]))",
+ "legendFormat": "{{source_canonical_service}} -> {{destination_canonical_service}}"
+ }
+ ],
+ "title": "HTTP/GRPC requests sent",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Average latency of HTTP/GRPC requests sent from this service to server services in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "ms"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 1
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_canonical_service, destination_canonical_service) (increase(istio_request_duration_milliseconds_sum{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\",destination_canonical_service=~\"$server_service\", reporter=\"source\"}[$__rate_interval:]))\n/\nclamp_min(sum by(job, cluster, source_canonical_service, destination_canonical_service) (increase(istio_request_duration_milliseconds_count{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\",destination_canonical_service=~\"$server_service\", reporter=\"source\"}[$__rate_interval:])), 1)\n",
+ "interval": "1m",
+ "legendFormat": "{{source_canonical_service}} -> {{destination_canonical_service}}"
+ }
+ ],
+ "title": "HTTP/GRPC request delay",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of HTTP/GRPC request data sent from this service to server services in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 7
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_canonical_service, destination_canonical_service) (rate(istio_request_bytes_sum{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\",destination_canonical_service=~\"$server_service\", reporter=\"source\"}[$__rate_interval]))",
+ "legendFormat": "{{source_canonical_service}} -> {{destination_canonical_service}}"
+ }
+ ],
+ "title": "HTTP/GRPC request throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of HTTP/GRPC response data received by this service from server services in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 7
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_canonical_service, destination_canonical_service) (rate(istio_response_bytes_sum{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\",destination_canonical_service=~\"$server_service\", reporter=\"source\"}[$__rate_interval]))",
+ "legendFormat": "{{source_canonical_service}} <- {{destination_canonical_service}}"
+ }
+ ],
+ "title": "HTTP/GRPC response throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Overview of the types of HTTP responses received by this service from server services in the Istio system.",
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 13
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "placement": "right"
+ },
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ]
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\",destination_canonical_service=~\"$server_service\", reporter=\"source\", request_protocol=\"http\", response_code=~\"[123].+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_canonical_service}} <- {{destination_canonical_service}}: (ok)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\",destination_canonical_service=~\"$server_service\", reporter=\"source\", request_protocol=\"http\", response_code=~\"[45].+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_canonical_service}} <- {{destination_canonical_service}}: (error)"
+ }
+ ],
+ "title": "HTTP response overview",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The types of HTTP responses received by this service from server services in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 16,
+ "x": 8,
+ "y": 13
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\",destination_canonical_service=~\"$server_service\", reporter=\"source\", request_protocol=\"http\", response_code=~\"1.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_canonical_service}} <- {{destination_canonical_service}}: (1xx)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\",destination_canonical_service=~\"$server_service\", reporter=\"source\", request_protocol=\"http\", response_code=~\"2.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_canonical_service}} <- {{destination_canonical_service}}: (2xx)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\",destination_canonical_service=~\"$server_service\", reporter=\"source\", request_protocol=\"http\", response_code=~\"3.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_canonical_service}} <- {{destination_canonical_service}}: (3xx)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\",destination_canonical_service=~\"$server_service\", reporter=\"source\", request_protocol=\"http\", response_code=~\"4.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_canonical_service}} <- {{destination_canonical_service}}: (4xx)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\",destination_canonical_service=~\"$server_service\", reporter=\"source\", request_protocol=\"http\", response_code=~\"5.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_canonical_service}} <- {{destination_canonical_service}}: (5xx)"
+ }
+ ],
+ "title": "HTTP responses / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Overview of the types of GRPC responses received by this service from server services in the Istio system.",
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 19
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "placement": "right"
+ },
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ]
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\",destination_canonical_service=~\"$server_service\", reporter=\"source\", grpc_response_status=\"0\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_canonical_service}} <- {{destination_canonical_service}}: (ok)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\",destination_canonical_service=~\"$server_service\", reporter=\"source\", grpc_response_status=~\"[1-9]\\\\d*\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_canonical_service}} <- {{destination_canonical_service}}: (error)"
+ }
+ ],
+ "title": "GRPC response overview",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The types of GRPC responses received by this service from server services in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 16,
+ "x": 8,
+ "y": 19
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\",destination_canonical_service=~\"$server_service\", reporter=\"source\", grpc_response_status=~\"[0-9]\\\\d*\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_canonical_service}} <- {{destination_canonical_service}}: {{grpc_response_status}}"
+ }
+ ],
+ "title": "GRPC responses / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of TCP request data sent from this service to server services in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_canonical_service, destination_canonical_service) (rate(istio_tcp_received_bytes_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\",destination_canonical_service=~\"$server_service\", reporter=\"source\"}[$__rate_interval]))",
+ "legendFormat": "{{source_canonical_service}} -> {{destination_canonical_service}}"
+ }
+ ],
+ "title": "TCP request throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of TCP response data received by this service from server services in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_canonical_service, destination_canonical_service) (rate(istio_tcp_sent_bytes_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\",destination_canonical_service=~\"$server_service\", reporter=\"source\"}[$__rate_interval]))",
+ "legendFormat": "{{source_canonical_service}} <- {{destination_canonical_service}}"
+ }
+ ],
+ "title": "TCP response throughput",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 31
+ },
+ "id": 12,
+ "title": "Server details",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of HTTP/GRPC requests received by this service from client services in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "reqps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_canonical_service, destination_canonical_service) (rate(istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\",source_canonical_service=~\"$client_service\", reporter=\"destination\"}[$__rate_interval]))",
+ "legendFormat": "{{destination_canonical_service}} <- {{source_canonical_service}}"
+ }
+ ],
+ "title": "HTTP/GRPC requests received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Average latency of HTTP/GRPC requests received by this service from client services in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "ms"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 32
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_canonical_service, destination_canonical_service) (increase(istio_request_duration_milliseconds_sum{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\",source_canonical_service=~\"$client_service\", reporter=\"destination\"}[$__rate_interval:]))\n/\nclamp_min(sum by(job, cluster, source_canonical_service, destination_canonical_service) (increase(istio_request_duration_milliseconds_count{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\",source_canonical_service=~\"$client_service\", reporter=\"destination\"}[$__rate_interval:])), 1)\n",
+ "interval": "1m",
+ "legendFormat": "{{destination_canonical_service}} <- {{source_canonical_service}}"
+ }
+ ],
+ "title": "HTTP/GRPC request delay",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of HTTP/GRPC request data received by this service from client services in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 38
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_canonical_service, destination_canonical_service) (rate(istio_request_bytes_sum{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\",source_canonical_service=~\"$client_service\", reporter=\"destination\"}[$__rate_interval]))",
+ "legendFormat": "{{destination_canonical_service}} <- {{source_canonical_service}}"
+ }
+ ],
+ "title": "HTTP/GRPC request throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of HTTP/GRPC response data sent from this service to client services in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 38
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_canonical_service, destination_canonical_service) (rate(istio_response_bytes_sum{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\",source_canonical_service=~\"$client_service\", reporter=\"destination\"}[$__rate_interval]))",
+ "legendFormat": "{{destination_canonical_service}} -> {{source_canonical_service}}"
+ }
+ ],
+ "title": "HTTP/GRPC response throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Overview of the types of HTTP responses sent from this service to client services in the Istio system.",
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 44
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "placement": "right"
+ },
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ]
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\",source_canonical_service=~\"$client_service\", reporter=\"destination\", request_protocol=\"http\", response_code=~\"[123].+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_canonical_service}} -> {{source_canonical_service}}: (ok)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\",source_canonical_service=~\"$client_service\", reporter=\"destination\", request_protocol=\"http\", response_code=~\"[45].+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_canonical_service}} -> {{source_canonical_service}}: (error)"
+ }
+ ],
+ "title": "HTTP response overview",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The types of HTTP responses sent from this service to client services in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 16,
+ "x": 8,
+ "y": 44
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\",source_canonical_service=~\"$client_service\", reporter=\"destination\", request_protocol=\"http\", response_code=~\"1.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_canonical_service}} -> {{source_canonical_service}}: (1xx)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\",source_canonical_service=~\"$client_service\", reporter=\"destination\", request_protocol=\"http\", response_code=~\"2.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_canonical_service}} -> {{source_canonical_service}}: (2xx)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\",source_canonical_service=~\"$client_service\", reporter=\"destination\", request_protocol=\"http\", response_code=~\"3.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_canonical_service}} -> {{source_canonical_service}}: (3xx)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\",source_canonical_service=~\"$client_service\", reporter=\"destination\", request_protocol=\"http\", response_code=~\"4.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_canonical_service}} -> {{source_canonical_service}}: (4xx)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\",source_canonical_service=~\"$client_service\", reporter=\"destination\", request_protocol=\"http\", response_code=~\"5.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_canonical_service}} -> {{source_canonical_service}}: (5xx)"
+ }
+ ],
+ "title": "HTTP responses / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Overview of the types of GRPC responses sent from this service to client services in the Istio system.",
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 50
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "placement": "right"
+ },
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ]
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\",source_canonical_service=~\"$client_service\", reporter=\"destination\", grpc_response_status=\"0\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_canonical_service}} -> {{source_canonical_service}}: (ok)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\",source_canonical_service=~\"$client_service\", reporter=\"destination\", grpc_response_status=~\"[1-9]\\\\d*\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_canonical_service}} -> {{source_canonical_service}}: (error)"
+ }
+ ],
+ "title": "GRPC response overview",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The types of GRPC responses sent from this service to client services in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 16,
+ "x": 8,
+ "y": 50
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_canonical_service, destination_canonical_service) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\",source_canonical_service=~\"$client_service\", reporter=\"destination\", grpc_response_status=~\"[0-9]\\\\d*\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_canonical_service}} -> {{source_canonical_service}}: {{grpc_response_status}}"
+ }
+ ],
+ "title": "GRPC responses / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of TCP request data received by this service from client services in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 56
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_canonical_service, destination_canonical_service) (rate(istio_tcp_received_bytes_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\",source_canonical_service=~\"$client_service\", reporter=\"destination\"}[$__rate_interval]))",
+ "legendFormat": "{{destination_canonical_service}} <- {{source_canonical_service}}"
+ }
+ ],
+ "title": "TCP request throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of TCP response data sent from this service to client services in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 56
+ },
+ "id": 22,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_canonical_service, destination_canonical_service) (rate(istio_tcp_sent_bytes_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\",source_canonical_service=~\"$client_service\", reporter=\"destination\"}[$__rate_interval]))",
+ "legendFormat": "{{destination_canonical_service}} -> {{source_canonical_service}}"
+ }
+ ],
+ "title": "TCP response throughput",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 62
+ },
+ "id": 23,
+ "title": "Workloads",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Workload details for a service in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "noValue": "NA"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": "true"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Service"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "",
+ "url": "d/istio-workloads-overview?var-datasource=${datasource}&var-job=${__data.fields[\"Job\"]}&var-cluster=${__data.fields[\"Cluster\"]}&var-service=${__value.raw}&${__url_time_range}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Workload"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "",
+ "url": "d/istio-workloads-overview?var-datasource=${datasource}&var-job=${__data.fields[\"Job\"]}&var-cluster=${__data.fields[\"Cluster\"]}&var-service=${__data.fields[\"Service\"]}&var-workload=${__value.raw}&${__url_time_range}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP/GRPC tx delay"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 157
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP/GRPC rx delay"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 157
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP/GRPC tx"
+ },
+ "properties": [
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "unit",
+ "value": "reqps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP/GRPC rx"
+ },
+ "properties": [
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "unit",
+ "value": "reqps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP tx success"
+ },
+ "properties": [
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "unit",
+ "value": "percent"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP rx success"
+ },
+ "properties": [
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "unit",
+ "value": "percent"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "TCP tx"
+ },
+ "properties": [
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "unit",
+ "value": "Bps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "TCP rx"
+ },
+ "properties": [
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "unit",
+ "value": "Bps"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 63
+ },
+ "id": 24,
+ "options": {
+ "footer": {
+ "options": {
+ "footer": {
+ "reducer": [
+ "sum"
+ ]
+ }
+ }
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, service, workload) (label_replace(label_replace(rate(istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\", reporter=\"source\"}[$__rate_interval]), \"service\", \"$1\", \"source_canonical_service\", \"(.*)\"), \"workload\", \"$1\", \"source_workload\", \"(.*)\"))",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, service, workload) (label_replace(label_replace(rate(istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\", reporter=\"destination\"}[$__rate_interval]), \"service\", \"$1\", \"destination_canonical_service\", \"(.*)\"), \"workload\", \"$1\", \"destination_workload\", \"(.*)\"))",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, service, workload) (label_replace(label_replace(increase(istio_request_duration_milliseconds_sum{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\", reporter=\"source\"}[$__rate_interval:]), \"service\", \"$1\", \"source_canonical_service\", \"(.*)\"), \"workload\", \"$1\", \"source_workload\", \"(.*)\"))\n/\nclamp_min(sum by(job, cluster, service, workload) (label_replace(label_replace(increase(istio_request_duration_milliseconds_count{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\", reporter=\"source\"}[$__rate_interval:]), \"service\", \"$1\", \"source_canonical_service\", \"(.*)\"), \"workload\", \"$1\", \"source_workload\", \"(.*)\")), 1)\n",
+ "format": "table",
+ "instant": true,
+ "interval": "1m"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, service, workload) (label_replace(label_replace(increase(istio_request_duration_milliseconds_sum{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\", reporter=\"destination\"}[$__rate_interval:]), \"service\", \"$1\", \"destination_canonical_service\", \"(.*)\"), \"workload\", \"$1\", \"destination_workload\", \"(.*)\"))\n/\nclamp_min(sum by(job, cluster, service, workload) (label_replace(label_replace(increase(istio_request_duration_milliseconds_count{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\", reporter=\"destination\"}[$__rate_interval:]), \"service\", \"$1\", \"destination_canonical_service\", \"(.*)\"), \"workload\", \"$1\", \"destination_workload\", \"(.*)\")), 1)\n",
+ "format": "table",
+ "instant": true,
+ "interval": "1m"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "100 * sum by(job, cluster, service, workload) (label_replace(label_replace(increase(istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\", reporter=\"source\", request_protocol=\"http\", response_code=~\"[123].+\"}[$__rate_interval:]), \"service\", \"$1\", \"source_canonical_service\", \"(.*)\"), \"workload\", \"$1\", \"source_workload\", \"(.*)\"))\n/\nclamp_min(sum by(job, cluster, service, workload) (label_replace(label_replace(increase(istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\", reporter=\"source\", request_protocol=\"http\"}[$__rate_interval:]), \"service\", \"$1\", \"source_canonical_service\", \"(.*)\"), \"workload\", \"$1\", \"source_workload\", \"(.*)\")), 1)\n",
+ "format": "table",
+ "instant": true,
+ "interval": "1m"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "100 * sum by(job, cluster, service, workload) (label_replace(label_replace(increase(istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\", reporter=\"destination\", request_protocol=\"http\", response_code=~\"[123].+\"}[$__rate_interval:]), \"service\", \"$1\", \"destination_canonical_service\", \"(.*)\"), \"workload\", \"$1\", \"destination_workload\", \"(.*)\"))\n/\nclamp_min(sum by(job, cluster, service, workload) (label_replace(label_replace(increase(istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\", reporter=\"destination\", request_protocol=\"http\"}[$__rate_interval:]), \"service\", \"$1\", \"destination_canonical_service\", \"(.*)\"), \"workload\", \"$1\", \"destination_workload\", \"(.*)\")), 1)\n",
+ "format": "table",
+ "instant": true,
+ "interval": "1m"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, service, workload) (label_replace(label_replace(rate(istio_tcp_received_bytes_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_canonical_service=~\"$service\", reporter=\"source\"}[$__rate_interval]), \"service\", \"$1\", \"source_canonical_service\", \"(.*)\"), \"workload\", \"$1\", \"source_workload\", \"(.*)\"))",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, service, workload) (label_replace(label_replace(rate(istio_tcp_sent_bytes_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_canonical_service=~\"$service\", reporter=\"destination\"}[$__rate_interval]), \"service\", \"$1\", \"destination_canonical_service\", \"(.*)\"), \"workload\", \"$1\", \"destination_workload\", \"(.*)\"))",
+ "format": "table",
+ "instant": true
+ }
+ ],
+ "title": "Workloads",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": { }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "includeByName": { },
+ "indexByName": {
+ "Time": 0,
+ "Value #A": 5,
+ "Value #B": 8,
+ "Value #C": 6,
+ "Value #D": 9,
+ "Value #E": 7,
+ "Value #F": 10,
+ "Value #G": 11,
+ "Value #H": 12,
+ "cluster": 1,
+ "job": 2,
+ "service": 3,
+ "workload": 4
+ },
+ "renameByName": {
+ "Value #A": "HTTP/GRPC tx",
+ "Value #B": "HTTP/GRPC rx",
+ "Value #C": "HTTP/GRPC tx delay",
+ "Value #D": "HTTP/GRPC rx delay",
+ "Value #E": "HTTP tx success",
+ "Value #F": "HTTP rx success",
+ "Value #G": "TCP tx",
+ "Value #H": "TCP rx",
+ "cluster": "Cluster",
+ "job": "Job",
+ "service": "Service",
+ "workload": "Workload"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "istio"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Data source",
+ "name": "datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(istiod_uptime_seconds{}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "K8s cluster",
+ "multi": true,
+ "name": "cluster",
+ "query": "label_values(istiod_uptime_seconds{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Namespace",
+ "multi": true,
+ "name": "namespace",
+ "query": "query_result(sum(istio_requests_total{job=~\"$job\", cluster=~\"$cluster\"}) by (destination_workload_namespace, source_workload_namespace) or sum(istio_tcp_sent_bytes_total{job=~\"$job\", cluster=~\"$cluster\"}) by (destination_workload_namespace, source_workload_namespace))",
+ "refresh": 2,
+ "regex": "/(?:destination|source)_workload_namespace=\"([^\"]*)/g",
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": false,
+ "label": "Service",
+ "multi": true,
+ "name": "service",
+ "query": "query_result(sum(istio_requests_total{job=~\"$job\", cluster=~\"$cluster\", source_workload_namespace=~\"$namespace\"}) by (source_canonical_service) or sum(istio_requests_total{job=~\"$job\", cluster=~\"$cluster\", destination_workload_namespace=~\"$namespace\"}) by (destination_canonical_service) or sum(istio_tcp_sent_bytes_total{job=~\"$job\", cluster=~\"$cluster\", source_workload_namespace=~\"$namespace\"}) by (source_canonical_service) or sum(istio_tcp_sent_bytes_total{job=~\"$job\", cluster=~\"$cluster\", destination_workload_namespace=~\"$namespace\"}) by (destination_canonical_service))",
+ "refresh": 2,
+ "regex": "/(?:source_canonical_service|destination_canonical_service)=\"([^\"]*)/g",
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Client service",
+ "multi": true,
+ "name": "client_service",
+ "query": "query_result(sum(istio_requests_total{job=~\"$job\", cluster=~\"$cluster\", destination_canonical_service=~\"$service\"}) by (destination_canonical_service, source_canonical_service) or sum(istio_tcp_received_bytes_total{job=~\"$job\", cluster=~\"$cluster\", destination_canonical_service=~\"$service\"}) by (destination_canonical_service, source_canonical_service))",
+ "refresh": 2,
+ "regex": "/source_canonical_service=\"([^\"]*)/",
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Server service",
+ "multi": true,
+ "name": "server_service",
+ "query": "query_result(sum(istio_requests_total{job=~\"$job\", cluster=~\"$cluster\", source_canonical_service=~\"$service\"}) by (destination_canonical_service, source_canonical_service) or sum(istio_tcp_received_bytes_total{job=~\"$job\", cluster=~\"$cluster\", source_canonical_service=~\"$service\"}) by (destination_canonical_service, source_canonical_service))",
+ "refresh": 2,
+ "regex": "/destination_canonical_service=\"([^\"]*)/",
+ "sort": 1,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "Istio services overview",
+ "uid": "istio-services-overview"
+}
diff --git a/assets/istio/dashboards/workloadsOverview b/assets/istio/dashboards/workloadsOverview
new file mode 100644
index 0000000..3690380
--- /dev/null
+++ b/assets/istio/dashboards/workloadsOverview
@@ -0,0 +1,1322 @@
+{
+ "links": [
+ {
+ "keepTime": true,
+ "title": "Istio logs",
+ "type": "link",
+ "url": "/d/istio-logs"
+ },
+ {
+ "keepTime": true,
+ "title": "Istio overview",
+ "type": "link",
+ "url": "/d/istio-overview"
+ },
+ {
+ "keepTime": true,
+ "title": "Istio services overview",
+ "type": "link",
+ "url": "/d/istio-services-overview"
+ }
+ ],
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "title": "Client details",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of HTTP/GRPC requests sent from this workload to server workloads in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "reqps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 1
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_workload, destination_workload) (rate(istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_workload=~\"$workload\",destination_workload=~\"$server_workload\", reporter=\"source\"}[$__rate_interval]))",
+ "legendFormat": "{{source_workload}} -> {{destination_workload}}"
+ }
+ ],
+ "title": "HTTP/GRPC requests sent",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Average latency of HTTP/GRPC requests sent from this workload to server workloads in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "ms"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 1
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_workload, destination_workload) (increase(istio_request_duration_milliseconds_sum{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_workload=~\"$workload\",destination_workload=~\"$server_workload\", reporter=\"source\"}[$__rate_interval:]))\n/\nclamp_min(sum by(job, cluster, source_workload, destination_workload) (increase(istio_request_duration_milliseconds_count{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_workload=~\"$workload\",destination_workload=~\"$server_workload\", reporter=\"source\"}[$__rate_interval:])), 1)\n",
+ "interval": "1m",
+ "legendFormat": "{{source_workload}} -> {{destination_workload}}"
+ }
+ ],
+ "title": "HTTP/GRPC request delay",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of HTTP/GRPC request data sent from this workload to server workloads in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 7
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_workload, destination_workload) (rate(istio_request_bytes_sum{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_workload=~\"$workload\",destination_workload=~\"$server_workload\", reporter=\"source\"}[$__rate_interval]))",
+ "legendFormat": "{{source_workload}} -> {{destination_workload}}"
+ }
+ ],
+ "title": "HTTP/GRPC request throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of HTTP/GRPC response data received by this workload from server workloads in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 7
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_workload, destination_workload) (rate(istio_response_bytes_sum{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_workload=~\"$workload\",destination_workload=~\"$server_workload\", reporter=\"source\"}[$__rate_interval]))",
+ "legendFormat": "{{source_workload}} <- {{destination_workload}}"
+ }
+ ],
+ "title": "HTTP/GRPC response throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Overview of the types of HTTP responses received by this workload from server workloads in the Istio system.",
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 13
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "placement": "right"
+ },
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ]
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_workload=~\"$workload\",destination_workload=~\"$server_workload\", reporter=\"source\", request_protocol=\"http\", response_code=~\"[123].+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_workload}} <- {{destination_workload}}: (ok)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_workload=~\"$workload\",destination_workload=~\"$server_workload\", reporter=\"source\", request_protocol=\"http\", response_code=~\"[45].+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_workload}} <- {{destination_workload}}: (error)"
+ }
+ ],
+ "title": "HTTP response overview",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The types of HTTP responses received by this workload from server workloads in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 16,
+ "x": 8,
+ "y": 13
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_workload=~\"$workload\",destination_workload=~\"$server_workload\", reporter=\"source\", request_protocol=\"http\", response_code=~\"1.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_workload}} <- {{destination_workload}}: (1xx)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_workload=~\"$workload\",destination_workload=~\"$server_workload\", reporter=\"source\", request_protocol=\"http\", response_code=~\"2.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_workload}} <- {{destination_workload}}: (2xx)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_workload=~\"$workload\",destination_workload=~\"$server_workload\", reporter=\"source\", request_protocol=\"http\", response_code=~\"3.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_workload}} <- {{destination_workload}}: (3xx)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_workload=~\"$workload\",destination_workload=~\"$server_workload\", reporter=\"source\", request_protocol=\"http\", response_code=~\"4.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_workload}} <- {{destination_workload}}: (4xx)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_workload=~\"$workload\",destination_workload=~\"$server_workload\", reporter=\"source\", request_protocol=\"http\", response_code=~\"5.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_workload}} <- {{destination_workload}}: (5xx)"
+ }
+ ],
+ "title": "HTTP responses / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Overview of the types of GRPC responses received by this workload from server workloads in the Istio system.",
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 19
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "placement": "right"
+ },
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ]
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_workload=~\"$workload\",destination_workload=~\"$server_workload\", reporter=\"source\", grpc_response_status=\"0\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_workload}} <- {{destination_workload}}: (ok)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_workload=~\"$workload\",destination_workload=~\"$server_workload\", reporter=\"source\", grpc_response_status=~\"[1-9]\\\\d*\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_workload}} <- {{destination_workload}}: (error)"
+ }
+ ],
+ "title": "GRPC response overview",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The types of GRPC responses received by this workload from server workloads in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 16,
+ "x": 8,
+ "y": 19
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_workload=~\"$workload\",destination_workload=~\"$server_workload\", reporter=\"source\", grpc_response_status=~\"[0-9]\\\\d*\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{source_workload}} <- {{destination_workload}}: {{grpc_response_status}}"
+ }
+ ],
+ "title": "GRPC responses / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of TCP request data sent from this workload to server workloads in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_workload, destination_workload) (rate(istio_tcp_received_bytes_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_workload=~\"$workload\",destination_workload=~\"$server_workload\", reporter=\"source\"}[$__rate_interval]))",
+ "legendFormat": "{{source_workload}} -> {{destination_workload}}"
+ }
+ ],
+ "title": "TCP request throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of TCP response data received by this workload from server workloads in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_workload, destination_workload) (rate(istio_tcp_sent_bytes_total{job=~\"$job\",cluster=~\"$cluster\",source_workload_namespace=~\"$namespace\",source_workload=~\"$workload\",destination_workload=~\"$server_workload\", reporter=\"source\"}[$__rate_interval]))",
+ "legendFormat": "{{source_workload}} <- {{destination_workload}}"
+ }
+ ],
+ "title": "TCP response throughput",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 31
+ },
+ "id": 12,
+ "title": "Server details",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of HTTP/GRPC requests received by this workload from client workloads in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "reqps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_workload, destination_workload) (rate(istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",source_workload=~\"$client_workload\", reporter=\"destination\"}[$__rate_interval]))",
+ "legendFormat": "{{destination_workload}} <- {{source_workload}}"
+ }
+ ],
+ "title": "HTTP/GRPC requests received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Average latency of HTTP/GRPC requests received by this workload from client workloads in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "ms"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 32
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_workload, destination_workload) (increase(istio_request_duration_milliseconds_sum{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",source_workload=~\"$client_workload\", reporter=\"destination\"}[$__rate_interval:]))\n/\nclamp_min(sum by(job, cluster, source_workload, destination_workload) (increase(istio_request_duration_milliseconds_count{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",source_workload=~\"$client_workload\", reporter=\"destination\"}[$__rate_interval:])), 1)\n",
+ "interval": "1m",
+ "legendFormat": "{{destination_workload}} <- {{source_workload}}"
+ }
+ ],
+ "title": "HTTP/GRPC request delay",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of HTTP/GRPC request data received by this workload from client workloads in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 38
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_workload, destination_workload) (rate(istio_request_bytes_sum{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",source_workload=~\"$client_workload\", reporter=\"destination\"}[$__rate_interval]))",
+ "legendFormat": "{{destination_workload}} <- {{source_workload}}"
+ }
+ ],
+ "title": "HTTP/GRPC request throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of HTTP/GRPC response data sent from this workload to client workloads in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 38
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_workload, destination_workload) (rate(istio_response_bytes_sum{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",source_workload=~\"$client_workload\", reporter=\"destination\"}[$__rate_interval]))",
+ "legendFormat": "{{destination_workload}} -> {{source_workload}}"
+ }
+ ],
+ "title": "HTTP/GRPC response throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Overview of the types of HTTP responses sent from this workload to client workloads in the Istio system.",
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 44
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "placement": "right"
+ },
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ]
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",source_workload=~\"$client_workload\", reporter=\"destination\", request_protocol=\"http\", response_code=~\"[123].+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_workload}} -> {{source_workload}}: (ok)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",source_workload=~\"$client_workload\", reporter=\"destination\", request_protocol=\"http\", response_code=~\"[45].+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_workload}} -> {{source_workload}}: (error)"
+ }
+ ],
+ "title": "HTTP response overview",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The types of HTTP responses sent from this workload to client workloads in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 16,
+ "x": 8,
+ "y": 44
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",source_workload=~\"$client_workload\", reporter=\"destination\", request_protocol=\"http\", response_code=~\"1.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_workload}} -> {{source_workload}}: (1xx)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",source_workload=~\"$client_workload\", reporter=\"destination\", request_protocol=\"http\", response_code=~\"2.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_workload}} -> {{source_workload}}: (2xx)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",source_workload=~\"$client_workload\", reporter=\"destination\", request_protocol=\"http\", response_code=~\"3.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_workload}} -> {{source_workload}}: (3xx)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",source_workload=~\"$client_workload\", reporter=\"destination\", request_protocol=\"http\", response_code=~\"4.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_workload}} -> {{source_workload}}: (4xx)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",source_workload=~\"$client_workload\", reporter=\"destination\", request_protocol=\"http\", response_code=~\"5.+\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_workload}} -> {{source_workload}}: (5xx)"
+ }
+ ],
+ "title": "HTTP responses / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Overview of the types of GRPC responses sent from this workload to client workloads in the Istio system.",
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 50
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "placement": "right"
+ },
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ]
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",source_workload=~\"$client_workload\", reporter=\"destination\", grpc_response_status=\"0\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_workload}} -> {{source_workload}}: (ok)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",source_workload=~\"$client_workload\", reporter=\"destination\", grpc_response_status=~\"[1-9]\\\\d*\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_workload}} -> {{source_workload}}: (error)"
+ }
+ ],
+ "title": "GRPC response overview",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The types of GRPC responses sent from this workload to client workloads in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 16,
+ "x": 8,
+ "y": 50
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "increase(sum by(job, cluster, source_workload, destination_workload) (istio_requests_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",source_workload=~\"$client_workload\", reporter=\"destination\", grpc_response_status=~\"[0-9]\\\\d*\"})[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{destination_workload}} -> {{source_workload}}: {{grpc_response_status}}"
+ }
+ ],
+ "title": "GRPC responses / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of TCP request data received by this workload from client workloads in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 56
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_workload, destination_workload) (rate(istio_tcp_received_bytes_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",source_workload=~\"$client_workload\", reporter=\"destination\"}[$__rate_interval]))",
+ "legendFormat": "{{destination_workload}} <- {{source_workload}}"
+ }
+ ],
+ "title": "TCP request throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of TCP response data sent from this workload to client workloads in the Istio system.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 56
+ },
+ "id": 22,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job, cluster, source_workload, destination_workload) (rate(istio_tcp_sent_bytes_total{job=~\"$job\",cluster=~\"$cluster\",destination_workload_namespace=~\"$namespace\",destination_workload=~\"$workload\",source_workload=~\"$client_workload\", reporter=\"destination\"}[$__rate_interval]))",
+ "legendFormat": "{{destination_workload}} -> {{source_workload}}"
+ }
+ ],
+ "title": "TCP response throughput",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "istio"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Data source",
+ "name": "datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(istiod_uptime_seconds{}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "K8s cluster",
+ "multi": true,
+ "name": "cluster",
+ "query": "label_values(istiod_uptime_seconds{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Namespace",
+ "multi": true,
+ "name": "namespace",
+ "query": "query_result(sum(istio_requests_total{job=~\"$job\", cluster=~\"$cluster\"}) by (destination_workload_namespace, source_workload_namespace) or sum(istio_tcp_sent_bytes_total{job=~\"$job\", cluster=~\"$cluster\"}) by (destination_workload_namespace, source_workload_namespace))",
+ "refresh": 2,
+ "regex": "/(?:destination|source)_workload_namespace=\"([^\"]*)/g",
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": false,
+ "label": "Service",
+ "multi": true,
+ "name": "service",
+ "query": "query_result(sum(istio_requests_total{job=~\"$job\", cluster=~\"$cluster\", source_workload_namespace=~\"$namespace\"}) by (source_canonical_service) or sum(istio_requests_total{job=~\"$job\", cluster=~\"$cluster\", destination_workload_namespace=~\"$namespace\"}) by (destination_canonical_service) or sum(istio_tcp_sent_bytes_total{job=~\"$job\", cluster=~\"$cluster\", source_workload_namespace=~\"$namespace\"}) by (source_canonical_service) or sum(istio_tcp_sent_bytes_total{job=~\"$job\", cluster=~\"$cluster\", destination_workload_namespace=~\"$namespace\"}) by (destination_canonical_service))",
+ "refresh": 2,
+ "regex": "/(?:source_canonical_service|destination_canonical_service)=\"([^\"]*)/g",
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Workload",
+ "multi": true,
+ "name": "workload",
+ "query": "query_result(sum by(source_workload) (istio_requests_total{job=~\"$job\", cluster=~\"$cluster\", source_workload_namespace=~\"$namespace\", source_canonical_service=~\"$service\"}) or sum by(destination_workload) (istio_requests_total{job=~\"$job\", cluster=~\"$cluster\", destination_workload_namespace=~\"$namespace\", destination_service_name=~\"$service\"}) or sum by(source_workload) (istio_tcp_sent_bytes_total{job=~\"$job\", cluster=~\"$cluster\", source_workload_namespace=~\"$namespace\", source_canonical_service=~\"$service\"}) or sum by(destination_workload) (istio_tcp_sent_bytes_total{job=~\"$job\", cluster=~\"$cluster\", destination_workload_namespace=~\"$namespace\", destination_service_name=~\"$service\"}))",
+ "refresh": 2,
+ "regex": "/(?:source|destination)_workload=\"([^\"]*)/g",
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Client workload",
+ "multi": true,
+ "name": "client_workload",
+ "query": "query_result(sum(istio_requests_total{job=~\"$job\", cluster=~\"$cluster\", destination_workload=~\"$workload\"}) by (source_workload) or sum(istio_tcp_received_bytes_total{job=~\"$job\", cluster=~\"$cluster\", destination_workload=~\"$workload\"}) by (source_workload))",
+ "refresh": 2,
+ "regex": "/source_workload=\"([^\"]*)/",
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Server workload",
+ "multi": true,
+ "name": "server_workload",
+ "query": "query_result(sum(istio_requests_total{job=~\"$job\", cluster=~\"$cluster\", source_workload=~\"$workload\"}) by (destination_workload) or sum(istio_tcp_received_bytes_total{job=~\"$job\", cluster=~\"$cluster\", source_workload=~\"$workload\"}) by (destination_workload))",
+ "refresh": 2,
+ "regex": "/destination_workload=\"([^\"]*)/",
+ "sort": 1,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "Istio workloads overview",
+ "uid": "istio-workloads-overview"
+}
diff --git a/assets/istio/rules.yaml b/assets/istio/rules.yaml
new file mode 100644
index 0000000..0967ef4
--- /dev/null
+++ b/assets/istio/rules.yaml
@@ -0,0 +1 @@
+{}
diff --git a/assets/jenkins/alerts.yaml b/assets/jenkins/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/jenkins/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/jenkins/dashboards/jenkins.json b/assets/jenkins/dashboards/jenkins.json
new file mode 100644
index 0000000..50b5100
--- /dev/null
+++ b/assets/jenkins/dashboards/jenkins.json
@@ -0,0 +1,1085 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [ ],
+ "refresh": "",
+ "rows": [
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "datasource": "$datasource",
+ "description": "Total number of job executors",
+ "format": "short",
+ "gauge": {
+ "maxValue": 100,
+ "minValue": 0,
+ "show": false,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": { },
+ "id": 2,
+ "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"
+ }
+ ],
+ "span": 2,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "jenkins_executor_count_value{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "thresholds": "",
+ "title": "Total Executors",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "aliasColors": { },
+ "datasource": "$datasource",
+ "description": "Shows distribution of executors by their current state",
+ "gridPos": { },
+ "id": 3,
+ "legend": {
+ "percentage": false,
+ "show": true,
+ "values": true
+ },
+ "legendType": "Under graph",
+ "pieType": "pie",
+ "span": 2,
+ "targets": [
+ {
+ "expr": "jenkins_executor_free_value{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "free",
+ "refId": "A"
+ },
+ {
+ "expr": "jenkins_executor_in_use_value{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "in-use",
+ "refId": "B"
+ }
+ ],
+ "title": "Executors By State",
+ "type": "piechart",
+ "valueName": "current"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Rate of jobs that are successful over the specified interval.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "purple",
+ "value": 0
+ }
+ ]
+ },
+ "unit": "none"
+ }
+ },
+ "gridPos": { },
+ "id": 4,
+ "links": [ ],
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "7",
+ "span": 2,
+ "targets": [
+ {
+ "expr": "rate(jenkins_runs_success_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Job Success Rate",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Rate of jobs failing over the specified interval.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": 0
+ }
+ ]
+ },
+ "unit": "none"
+ }
+ },
+ "gridPos": { },
+ "id": 5,
+ "links": [ ],
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "7",
+ "span": 2,
+ "targets": [
+ {
+ "expr": "rate(jenkins_runs_failure_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Job Falure Rate",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "red",
+ "yellow",
+ "green"
+ ],
+ "datasource": "$datasource",
+ "description": "Percentage of build nodes online",
+ "format": "percentunit",
+ "gauge": {
+ "maxValue": 1,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": { },
+ "id": 6,
+ "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"
+ }
+ ],
+ "span": 2,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "jenkins_node_online_value{job=~\"$job\", instance=~\"$instance\"}/jenkins_node_count_value{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "thresholds": ".80,.90",
+ "title": "Build Nodes Online",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Plugins grouped by different states.",
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "purple",
+ "value": 0
+ }
+ ]
+ },
+ "unit": null
+ }
+ },
+ "gridPos": { },
+ "id": 7,
+ "options": {
+ "orientation": "horizontal"
+ },
+ "span": 2,
+ "targets": [
+ {
+ "expr": "jenkins_plugins_active{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "active",
+ "refId": "A"
+ },
+ {
+ "expr": "jenkins_plugins_inactive{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "inactive",
+ "refId": "B"
+ },
+ {
+ "expr": "jenkins_plugins_failed{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "failed",
+ "refId": "C"
+ },
+ {
+ "expr": "jenkins_plugins_withUpdate{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "with update",
+ "refId": "D"
+ }
+ ],
+ "title": "Plugins by State",
+ "type": "bargauge"
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Overview",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "datasource": "$datasource",
+ "description": "Bottom 5 least healthiest jobs.",
+ "gridPos": { },
+ "id": 8,
+ "span": 4,
+ "styles": [
+ {
+ "alias": "Time",
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "pattern": "Time",
+ "type": "hidden"
+ },
+ {
+ "alias": "Health",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": false,
+ "linkTargetBlank": false,
+ "linkTooltip": "Drill down",
+ "linkUrl": "",
+ "pattern": "Value #A",
+ "thresholds": [ ],
+ "type": "number",
+ "unit": "percent"
+ },
+ {
+ "alias": "Failed",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": false,
+ "linkTargetBlank": false,
+ "linkTooltip": "Drill down",
+ "linkUrl": "",
+ "pattern": "Value #B",
+ "thresholds": [ ],
+ "type": "number",
+ "unit": "short"
+ },
+ {
+ "alias": "Successful",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": false,
+ "linkTargetBlank": false,
+ "linkTooltip": "Drill down",
+ "linkUrl": "",
+ "pattern": "Value #C",
+ "thresholds": [ ],
+ "type": "number",
+ "unit": "short"
+ },
+ {
+ "alias": "Total",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": false,
+ "linkTargetBlank": false,
+ "linkTooltip": "Drill down",
+ "linkUrl": "",
+ "pattern": "Value #D",
+ "thresholds": [ ],
+ "type": "number",
+ "unit": "short"
+ },
+ {
+ "alias": "Job",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": false,
+ "linkTargetBlank": false,
+ "linkTooltip": "Drill down",
+ "linkUrl": "",
+ "pattern": "jenkins_job",
+ "thresholds": [ ],
+ "type": "number",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "pattern": "/.*/",
+ "thresholds": [ ],
+ "type": "string",
+ "unit": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "bottomk(5, avg by (jenkins_job) ({__name__=~\"$prefix\\\\_?jenkins_builds_health_score\", job=~\"$job\", instance=~\"$instance\"}))",
+ "format": "table",
+ "instant": true,
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "expr": "sum by (jenkins_job) ({__name__=~\"$prefix\\\\_?jenkins_builds_failed_build_count\", job=~\"$job\", instance=~\"$instance\"}) and on (jenkins_job) bottomk(5, avg by (jenkins_job) ({__name__=~\"$prefix\\\\_?jenkins_builds_health_score\", job=~\"$job\", instance=~\"$instance\"}))",
+ "format": "table",
+ "instant": true,
+ "legendFormat": "",
+ "refId": "B"
+ },
+ {
+ "expr": "sum by (jenkins_job) ({__name__=~\"$prefix\\\\_?jenkins_builds_success_build_count\", job=~\"$job\", instance=~\"$instance\"}) and on (jenkins_job) bottomk(5, avg by (jenkins_job) ({__name__=~\"$prefix\\\\_?jenkins_builds_health_score\", job=~\"$job\", instance=~\"$instance\"}))",
+ "format": "table",
+ "instant": true,
+ "legendFormat": "",
+ "refId": "C"
+ },
+ {
+ "expr": "sum by (jenkins_job) ({__name__=~\"$prefix\\\\_jenkins_builds_failed_build_count|$prefix\\\\_?jenkins_builds_success_build_count\", job=~\"$job\", instance=~\"$instance\"}) and on (jenkins_job) bottomk(5, avg by (jenkins_job) ({__name__=~\"$prefix\\\\_?jenkins_builds_health_score\", job=~\"$job\", instance=~\"$instance\"}))",
+ "format": "table",
+ "instant": true,
+ "legendFormat": "",
+ "refId": "D"
+ }
+ ],
+ "title": "Least Healthy Jobs",
+ "transform": "table",
+ "type": "table"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Latest duration of the jobs",
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 9,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 4,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "max by (jenkins_job) ({__name__=~\"$prefix\\\\_?jenkins_builds_last_build_duration_milliseconds\", job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "legendFormat": "{{jenkins_job}}",
+ "legendLink": null
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Latest Build Duration by Job",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "ms",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": false
+ }
+ ]
+ },
+ {
+ "datasource": "$datasource",
+ "description": "List of the top 5 slowest jobs.",
+ "gridPos": { },
+ "id": 10,
+ "span": 2,
+ "styles": [
+ {
+ "alias": "Time",
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "pattern": "Time",
+ "type": "hidden"
+ },
+ {
+ "alias": "Duration",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": false,
+ "linkTargetBlank": false,
+ "linkTooltip": "Drill down",
+ "linkUrl": "",
+ "pattern": "Value",
+ "thresholds": [ ],
+ "type": "number",
+ "unit": "ms"
+ },
+ {
+ "alias": "Job Name",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": false,
+ "linkTargetBlank": false,
+ "linkTooltip": "Drill down",
+ "linkUrl": "",
+ "pattern": "jenkins_job",
+ "thresholds": [ ],
+ "type": "number",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "pattern": "/.*/",
+ "thresholds": [ ],
+ "type": "string",
+ "unit": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "topk(5, max by (jenkins_job) ({__name__=~\"$prefix\\\\_?jenkins_builds_last_build_duration_milliseconds\", job=~\"$job\", instance=~\"$instance\"}))",
+ "format": "table",
+ "instant": true,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Top 5 Slowest Jobs",
+ "transform": "table",
+ "type": "table"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Queued jobs grouped by state.",
+ "fill": 5,
+ "fillGradient": 10,
+ "gridPos": { },
+ "id": 11,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "line": 1,
+ "lines": true,
+ "linewidth": 0,
+ "links": [ ],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 2,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "jenkins_queue_stuck_value{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "legendFormat": "Stuck",
+ "legendLink": null
+ },
+ {
+ "expr": "jenkins_queue_blocked_value{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "legendFormat": "Blocked",
+ "legendLink": null
+ },
+ {
+ "expr": "jenkins_queue_pending_value{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "legendFormat": "Pending",
+ "legendLink": null
+ },
+ {
+ "expr": "jenkins_queue_buildable_value{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "legendFormat": "Buildable",
+ "legendLink": null
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Job Queue by State",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "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": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ]
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Jobs",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Total web requests group by different HTTP status codes.",
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 12,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(http_responseCodes_ok_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "legendFormat": "200 {{instance}}",
+ "legendLink": null
+ },
+ {
+ "expr": "rate(http_responseCodes_created_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "legendFormat": "201 {{instance}}",
+ "legendLink": null
+ },
+ {
+ "expr": "rate(http_responseCodes_noContent_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "legendFormat": "204 {{instance}}",
+ "legendLink": null
+ },
+ {
+ "expr": "rate(http_responseCodes_notModified_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "legendFormat": "304 {{instance}}",
+ "legendLink": null
+ },
+ {
+ "expr": "rate(http_responseCodes_badRequest_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "legendFormat": "400 {{instance}}",
+ "legendLink": null
+ },
+ {
+ "expr": "rate(http_responseCodes_forbidden_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "legendFormat": "403 {{instance}}",
+ "legendLink": null
+ },
+ {
+ "expr": "rate(http_responseCodes_notFound_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "legendFormat": "404 {{instance}}",
+ "legendLink": null
+ },
+ {
+ "expr": "rate(http_responseCodes_serverError_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "legendFormat": "500 {{instance}}",
+ "legendLink": null
+ },
+ {
+ "expr": "rate(http_responseCodes_serviceUnavailable_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "legendFormat": "503 {{instance}}",
+ "legendLink": null
+ },
+ {
+ "expr": "rate(http_responseCodes_other_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "legendFormat": "other {{instance}}",
+ "legendLink": null
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Web Request Rate by Status",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "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
+ }
+ ]
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Shows a distribution of HTTP request durations by quantile.",
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": 0
+ }
+ ]
+ },
+ "unit": "s"
+ }
+ },
+ "gridPos": { },
+ "id": 13,
+ "options": {
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ }
+ },
+ "span": 6,
+ "targets": [
+ {
+ "expr": "http_requests{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{quantile}}",
+ "refId": "A"
+ }
+ ],
+ "title": "HTTP Request Duration by Quantile",
+ "type": "bargauge"
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Web UI",
+ "titleSize": "h6",
+ "type": "row"
+ }
+ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(up, job)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(up{job=~\"$job\"}, instance)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "",
+ "value": "default"
+ },
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "label": null,
+ "name": "prefix",
+ "options": [
+ {
+ "selected": true,
+ "text": "",
+ "value": "default"
+ }
+ ],
+ "query": "default",
+ "skipUrlSync": false,
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "browser",
+ "title": "Jenkins",
+ "uid": "2UJijx65J",
+ "version": 0
+}
diff --git a/assets/jenkins/rules.yaml b/assets/jenkins/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/jenkins/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/jira/alerts.yaml b/assets/jira/alerts.yaml
new file mode 100644
index 0000000..16e648f
--- /dev/null
+++ b/assets/jira/alerts.yaml
@@ -0,0 +1,37 @@
+groups:
+- name: alert.rules
+ rules:
+ - alert: LicenseExpired
+ annotations:
+ description: The JIRA license has expired.
+ summary: JIRA license expired.
+ expr: jira_license_expiry_days_gauge <= 0
+ for: 1m
+ labels:
+ severity: critical
+ - alert: LicenseWarning
+ annotations:
+ description: The JIRA license will expire in less than one week.
+ summary: License expiring soon.
+ expr: jira_license_expiry_days_gauge <= 7 and jira_license_expiry_days_gauge >
+ 0
+ for: 1m
+ labels:
+ severity: warning
+ - alert: NoUserCapacity
+ annotations:
+ description: There is no more capacity for additional users to be added to the
+ system.
+ summary: All available accounts are taken.
+ expr: jira_all_users_gauge/jira_allowed_users_gauge == 1
+ for: 1m
+ labels:
+ severity: critical
+ - alert: EmailErrorsHigh
+ annotations:
+ description: More than 1% of emails have resulted in an error in the past minute.
+ summary: Email errors are high.
+ expr: jira_mail_queue_error_gauge /jira_mail_queue_gauge > 0.01
+ for: 1m
+ labels:
+ severity: critical
diff --git a/assets/jira/dashboards/jira-overview.json b/assets/jira/dashboards/jira-overview.json
new file mode 100644
index 0000000..41a8709
--- /dev/null
+++ b/assets/jira/dashboards/jira-overview.json
@@ -0,0 +1,1185 @@
+{
+ "__inputs": [ ],
+ "__requires": [
+ {
+ "id": "grafana",
+ "name": "Grafana",
+ "type": "grafana",
+ "version": "8.0.2"
+ },
+ {
+ "id": "prometheus",
+ "name": "Prometheus",
+ "type": "datasource",
+ "version": "1.0.0"
+ },
+ {
+ "id": "stat",
+ "name": "Stat",
+ "type": "panel",
+ "version": ""
+ },
+ {
+ "id": "timeseries",
+ "name": "Time series",
+ "type": "panel",
+ "version": ""
+ }
+ ],
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "limit": 100,
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Shows Jira server and usage metrics",
+ "editable": true,
+ "gnetId": 5249,
+ "graphTooltip": 0,
+ "id": null,
+ "iteration": 1624290126907,
+ "links": [ ],
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 25,
+ "panels": [ ],
+ "title": "Server Status",
+ "type": "row"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "If the server is up and responding",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 0,
+ "text": "DOWN"
+ },
+ "1": {
+ "color": "green",
+ "index": 1,
+ "text": "OK"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 0,
+ "y": 1
+ },
+ "id": 37,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.2",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "up{job=\"$job\", instance=\"$instance\"}",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Server Status",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "The amount of time until the JIRA license expires",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "yellow",
+ "value": 15
+ },
+ {
+ "color": "green",
+ "value": 30
+ }
+ ]
+ },
+ "unit": "d"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 7,
+ "x": 8,
+ "y": 1
+ },
+ "id": 27,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.2",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "jira_license_expiry_days_gauge{job=\"$job\", instance=\"$instance\"}",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Countdown Until License Expiry",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "The percentage of user accounts that are still available for new accounts.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "noValue": "Unlimited",
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 10
+ },
+ {
+ "color": "#EAB839",
+ "value": 35
+ },
+ {
+ "color": "green",
+ "value": 50
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 7,
+ "x": 15,
+ "y": 1
+ },
+ "id": 31,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.2",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "1 - (jira_all_users_gauge{job=\"$job\", instance=\"$instance\"}/jira_allowed_users_gauge{job=\"$job\", instance=\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Percentage of Available User Accounts",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 6
+ },
+ "id": 21,
+ "panels": [ ],
+ "repeat": null,
+ "title": "Server Latency",
+ "type": "row"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 23,
+ "x": 0,
+ "y": 7
+ },
+ "id": 9,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.0.2",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "rate(jira_request_duration_on_path_sum{job=\"$job\", instance=\"$instance\"}[$__rate_interval])/rate(jira_request_duration_on_path_count{job=\"$job\", instance=\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "{{path}}",
+ "refId": "A",
+ "step": 2
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Request Duration",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 19
+ },
+ "id": 19,
+ "panels": [ ],
+ "repeat": null,
+ "title": "Resource Utilization",
+ "type": "row"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "The total amount of memory used by the JIRA server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "id": 2,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.0.2",
+ "repeat": null,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(jvm_memory_bytes_used{job=\"$job\", instance=\"$instance\"})",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 5,
+ "legendFormat": "Memory Used",
+ "metric": "jvm_memory_bytes_used",
+ "refId": "A",
+ "step": 5
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Total Memory Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Total user and system CPU time spent in seconds over time.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "CPU Seconds",
+ "axisPlacement": "left",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "__systemRef": "hideSeriesFrom",
+ "matcher": {
+ "id": "byNames",
+ "options": {
+ "mode": "exclude",
+ "names": [
+ "CPU Utilization"
+ ],
+ "prefix": "All except:",
+ "readOnly": true
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": false,
+ "tooltip": false,
+ "viz": true
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 11,
+ "x": 12,
+ "y": 20
+ },
+ "id": 33,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "rate(process_cpu_seconds_total{job=\"$job\", instance=\"$instance\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "CPU Utilization",
+ "refId": "A"
+ }
+ ],
+ "title": "CPU Utilization",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 30
+ },
+ "id": 20,
+ "panels": [ ],
+ "repeat": null,
+ "title": "JIRA Usage",
+ "type": "row"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "Total Projects in JIRA",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 3,
+ "x": 0,
+ "y": 31
+ },
+ "id": 39,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.2",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "jira_total_projects_gauge{job=\"$job\", instance=\"$instance\"}",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Projects",
+ "type": "stat"
+ },
+ {
+ "datasource": null,
+ "description": "The total number of groups in JIRA",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 3,
+ "x": 3,
+ "y": 31
+ },
+ "id": 41,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.2",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "jira_total_groups_gauge{job=\"$job\", instance=\"$instance\"}",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Groups",
+ "type": "stat"
+ },
+ {
+ "cacheTimeout": null,
+ "datasource": "$datasource",
+ "description": "Total number of users in JIRA",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 3,
+ "x": 6,
+ "y": 31
+ },
+ "id": 16,
+ "interval": null,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.2",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "jira_active_users_gauge{job=\"$job\", instance=\"$instance\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Active Users",
+ "type": "stat"
+ },
+ {
+ "cacheTimeout": null,
+ "datasource": "$datasource",
+ "description": "Total number of current sessions in JIRA",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 3,
+ "x": 9,
+ "y": 31
+ },
+ "id": 17,
+ "interval": null,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.2",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "jira_total_sessions_gauge{job=\"$job\", instance=\"$instance\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Sessions",
+ "type": "stat"
+ },
+ {
+ "cacheTimeout": null,
+ "datasource": "$datasource",
+ "description": "The total issues in JIRA",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 3,
+ "x": 12,
+ "y": 31
+ },
+ "id": 12,
+ "interval": null,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.2",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "jira_total_issues_gauge{job=\"$job\", instance=\"$instance\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Issues",
+ "type": "stat"
+ },
+ {
+ "datasource": null,
+ "description": "The total number of attachments within the JIRA instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 3,
+ "x": 15,
+ "y": 31
+ },
+ "id": 43,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.2",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "jira_total_attachments_gauge{job=\"$job\", instance=\"$instance\"}",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Attachments",
+ "type": "stat"
+ },
+ {
+ "cacheTimeout": null,
+ "datasource": "$datasource",
+ "description": "Displays the total size of attachments used in the JIRA instance.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 3,
+ "x": 18,
+ "y": 31
+ },
+ "id": 10,
+ "interval": null,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.2",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "jira_total_attachment_size_gauge{job=\"$job\", instance=\"$instance\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Attachment Size",
+ "type": "stat"
+ }
+ ],
+ "refresh": "",
+ "schemaVersion": 30,
+ "style": "dark",
+ "tags": [
+ "prometheus",
+ "Atlassian"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "Prometheus",
+ "value": "Prometheus"
+ },
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": null,
+ "current": { },
+ "datasource": "$datasource",
+ "definition": "label_values(jira_total_issues_gauge, job)",
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": "job",
+ "multi": false,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(jira_total_issues_gauge, job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": "$datasource",
+ "definition": "label_values(jira_total_issues_gauge {job=\"$job\"}, instance)",
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": "instance",
+ "multi": false,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(jira_total_issues_gauge {job=\"$job\"}, instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-5m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Jira",
+ "uid": "9RROKlR7k",
+ "version": 4
+}
diff --git a/assets/jira/rules.yaml b/assets/jira/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/jira/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/jvm/alerts.yaml b/assets/jvm/alerts.yaml
new file mode 100644
index 0000000..a97d41b
--- /dev/null
+++ b/assets/jvm/alerts.yaml
@@ -0,0 +1,14 @@
+groups:
+- name: jvm
+ rules:
+ - alert: JvmMemoryFillingUp
+ annotations:
+ description: JVM memory usage is at {{ printf "%%.0f" $value }} percent over
+ the last 5 minutes on {{$labels.instance}}, which is above the threshold of
+ 80%.
+ summary: JVM memory filling up.
+ expr: |
+ jvm_memory_bytes_used / jvm_memory_bytes_max{area="heap"} > 0.8
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/jvm/dashboards/jvm-dashboard.json b/assets/jvm/dashboards/jvm-dashboard.json
new file mode 100644
index 0000000..6bbd26e
--- /dev/null
+++ b/assets/jvm/dashboards/jvm-dashboard.json
@@ -0,0 +1,577 @@
+{
+ "__inputs": [
+ {
+ "description": "A prometheus datasource with JMX Exporter scraping",
+ "label": "Data Source",
+ "name": "datasource",
+ "pluginId": "prometheus",
+ "pluginName": "Prometheus",
+ "type": "datasource"
+ }
+ ],
+ "__requires": [
+ {
+ "id": "grafana",
+ "name": "Grafana",
+ "type": "grafana",
+ "version": "4.5.0-pre1"
+ },
+ {
+ "id": "graph",
+ "name": "Graph",
+ "type": "panel",
+ "version": ""
+ },
+ {
+ "id": "prometheus",
+ "name": "Prometheus",
+ "type": "datasource",
+ "version": "1.0.0"
+ }
+ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "Dashboard for JVM metrics with Prometheus / JMX Exporter",
+ "editable": true,
+ "gnetId": 3066,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [ ],
+ "refresh": "30s",
+ "rows": [
+ {
+ "collapse": false,
+ "height": 250,
+ "panels": [
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${datasource}",
+ "fill": 1,
+ "id": 2,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": true,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 12,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "jvm_memory_bytes_used{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "",
+ "legendFormat": "{{area}} memory [{{instance}}]",
+ "metric": "jvm_memory_bytes_used",
+ "refId": "A",
+ "step": 5
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Memory used",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "bytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ]
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": false,
+ "title": "Dashboard Row",
+ "titleSize": "h6"
+ },
+ {
+ "collapse": false,
+ "height": 250,
+ "panels": [
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${datasource}",
+ "fill": 1,
+ "id": 3,
+ "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,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "jvm_threads_current{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "legendFormat": "current [{{instance}}]",
+ "metric": "jvm_threads_current",
+ "refId": "A",
+ "step": 10
+ },
+ {
+ "expr": "jvm_threads_daemon{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "legendFormat": "daemon [{{instance}}]",
+ "metric": "jvm_threads_daemon",
+ "refId": "B",
+ "step": 10
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Threads used",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "decimals": 0,
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${datasource}",
+ "fill": 1,
+ "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,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "jvm_classes_loaded{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "",
+ "legendFormat": "loaded [{{instance}}]",
+ "metric": "jvm_classes_loaded",
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Class loading",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "decimals": 0,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ]
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": false,
+ "title": "Dashboard Row",
+ "titleSize": "h6"
+ },
+ {
+ "collapse": false,
+ "height": 250,
+ "panels": [
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${datasource}",
+ "fill": 1,
+ "id": 5,
+ "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,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(jvm_gc_collection_seconds_sum{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "legendFormat": "{{gc}} [{{instance}}]",
+ "metric": "jvm_gc_collection_seconds_sum",
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "GC time rate",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "s",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "${datasource}",
+ "fill": 1,
+ "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,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "jvm_gc_collection_seconds_count{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "",
+ "legendFormat": "{{gc}} [{{instance}}]",
+ "metric": "",
+ "refId": "A",
+ "step": 10
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "GC count",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "decimals": 0,
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ]
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": false,
+ "title": "Dashboard Row",
+ "titleSize": "h6"
+ }
+ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "JVM",
+ "prometheus"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "${datasource}",
+ "hide": 0,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(jvm_memory_bytes_used,job)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "${datasource}",
+ "hide": 0,
+ "includeAll": true,
+ "label": "instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(jvm_memory_bytes_used{job=~\"$job\"},instance)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "JVM overview - Prometheus",
+ "uid": "1602068683-1",
+ "version": 12
+}
diff --git a/assets/jvm/rules.yaml b/assets/jvm/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/jvm/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/kafka/alerts.yaml b/assets/kafka/alerts.yaml
new file mode 100644
index 0000000..a30194a
--- /dev/null
+++ b/assets/kafka/alerts.yaml
@@ -0,0 +1,101 @@
+groups:
+- name: Kafka_Alerts
+ rules:
+ - alert: KafkaOfflinePartitonCount
+ annotations:
+ description: Kafka cluster {{ $labels.kafka_cluster }} has {{ $value }} offline
+ partitions. After successful leader election, if the leader for partition
+ dies, then the partition moves to the OfflinePartition state. Offline partitions
+ are not available for reading and writing. Restart the brokers, if needed,
+ and check the logs for errors.
+ summary: Kafka has offline partitons.
+ expr: sum without(instance) (kafka_controller_kafkacontroller_offlinepartitionscount{job="integrations/kafka"})
+ > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: KafkaUnderReplicatedPartitionCount
+ annotations:
+ description: Kafka instance {{ $labels.instance }} in cluster {{ $labels.kafka_cluster
+ }} has {{ $value }} under replicated partitons
+ summary: Kafka has under replicated partitons.
+ expr: |
+ sum without() (kafka_server_replicamanager_underreplicatedpartitions{job="integrations/kafka"}) > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: KafkaActiveController
+ annotations:
+ description: Kafka cluster {{ $labels.kafka_cluster }} has {{ $value }} broker(s)
+ reporting as the active controller in the last 5 minute interval. During steady
+ state there should be only one active controller per cluster.
+ summary: Kafka has no active controller.
+ expr: sum without(instance) (kafka_controller_kafkacontroller_activecontrollercount{job="integrations/kafka"})
+ != 1
+ for: 5m
+ labels:
+ severity: critical
+ - alert: KafkaUncleanLeaderElection
+ annotations:
+ description: Kafka cluster {{ $labels.kafka_cluster }} has {{ $value }} unclean
+ partition leader elections reported in the last 5 minute interval. When unclean
+ leader election is held among out-of-sync replicas, there is a possibility
+ of data loss if any messages were not synced prior to the loss of the former
+ leader. So if the number of unclean elections is greater than 0, investigate
+ broker logs to determine why leaders were re-elected, and look for WARN or
+ ERROR messages. Consider setting the broker configuration parameter unclean.leader.election.enable
+ to false so that a replica outside of the set of in-sync replicas is never
+ elected leader.
+ summary: Kafka has unclean leader elections.
+ expr: max without(instance) (rate(kafka_controller_controllerstats_uncleanleaderelectionspersec{job="integrations/kafka"}[5m]))
+ != 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: KafkaISRExpandRate
+ annotations:
+ description: Kafka instance {{ $labels.instance }} in cluster {{ $labels.kafka_cluster
+ }} ISR is expanding by {{ $value }} per second. If a broker goes down, ISR
+ for some of the partitions shrink. When that broker is up again, ISRs are
+ expanded once the replicas are fully caught up. Other than that, the expected
+ value for ISR expansion rate is 0. If ISR is expanding and shrinking frequently,
+ adjust Allowed replica lag.
+ summary: Kafka ISR Expansion Rate is expanding.
+ expr: |
+ sum without() (rate(kafka_server_replicamanager_isrexpandspersec{job="integrations/kafka"}[5m])) != 0
+ for: 5m
+ labels:
+ severity: warning
+ - alert: KafkaISRShrinkRate
+ annotations:
+ description: Kafka instance {{ $labels.instance }} in cluster {{ $labels.kafka_cluster
+ }} ISR is shrinking by {{ $value }} per second. If a broker goes down, ISR
+ for some of the partitions shrink. When that broker is up again, ISRs are
+ expanded once the replicas are fully caught up. Other than that, the expected
+ value for ISR shrink rate is 0. If ISR is expanding and shrinking frequently,
+ adjust Allowed replica lag.
+ summary: Kafka ISR Expansion Rate is shrinking.
+ expr: |
+ sum without() (rate(kafka_server_replicamanager_isrshrinkspersec{job="integrations/kafka"}[5m])) != 0
+ for: 5m
+ labels:
+ severity: warning
+ - alert: KafkaBrokerCount
+ annotations:
+ description: Kafka cluster {{ $labels.kafka_cluster }} broker count is 0.
+ summary: Kafka has no Brokers online.
+ expr: count without(instance) (kafka_server_kafkaserver_brokerstate{job="integrations/kafka"})
+ == 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: KafkaZookeeperSyncConnect
+ annotations:
+ description: Kafka instance {{ $labels.instance }} in cluster {{ $labels.kafka_cluster
+ }} Zookeeper Sync Disconected.
+ summary: Kafka Zookeeper Sync Disconected.
+ expr: |
+ avg without() (kafka_server_sessionexpirelistener_zookeepersyncconnectspersec{job="integrations/kafka"}) < 0
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/kafka/dashboards/connect-overview.json b/assets/kafka/dashboards/connect-overview.json
new file mode 100644
index 0000000..ae07849
--- /dev/null
+++ b/assets/kafka/dashboards/connect-overview.json
@@ -0,0 +1,6265 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Monitor Apache Kafka Connect",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 8,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 199,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "General",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "decimals": 0,
+ "mappings": [ ],
+ "noValue": "0",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 1
+ },
+ "id": 212,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_connect_connect_worker_metrics_connector_total_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Tasks Total",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "decimals": 0,
+ "mappings": [ ],
+ "noValue": "0",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 4,
+ "y": 1
+ },
+ "id": 213,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_connect_connect_worker_metrics_connector_running_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Tasks Running",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "decimals": 0,
+ "mappings": [ ],
+ "noValue": "0",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 8,
+ "y": 1
+ },
+ "id": 215,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_connect_connect_worker_metrics_connector_paused_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Tasks Paused",
+ "transformations": [ ],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "decimals": 0,
+ "mappings": [ ],
+ "noValue": "0",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 12,
+ "y": 1
+ },
+ "id": 214,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_connect_connect_worker_metrics_connector_failed_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Tasks Failed",
+ "transformations": [ ],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "decimals": 0,
+ "mappings": [ ],
+ "noValue": "0",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "yellow",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 16,
+ "y": 1
+ },
+ "id": 216,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_connect_connect_worker_metrics_connector_unassigned_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Tasks Unassigned",
+ "transformations": [ ],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "decimals": 0,
+ "mappings": [ ],
+ "noValue": "0",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "purple",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 20,
+ "y": 1
+ },
+ "id": 217,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_connect_connect_worker_metrics_connector_destroyed_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Tasks Destroyed",
+ "transformations": [ ],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ]
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 4
+ },
+ "id": 227,
+ "links": [ ],
+ "maxDataPoints": 1,
+ "options": {
+ "displayLabels": [ ],
+ "legend": {
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true,
+ "values": [ ]
+ },
+ "pieType": "pie",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.0.5",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum (kafka_connect_connector_metrics{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\",status=\"running\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "running",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum (kafka_connect_connector_metrics{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\",status=\"stopped\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "stopped",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum (kafka_connect_connector_metrics{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\",status=\"paused\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "paused",
+ "refId": "C"
+ }
+ ],
+ "title": "Connector repartition per status",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ]
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 4
+ },
+ "id": 219,
+ "links": [ ],
+ "maxDataPoints": 1,
+ "options": {
+ "displayLabels": [ ],
+ "legend": {
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true,
+ "values": [ ]
+ },
+ "pieType": "pie",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.0.5",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_connect_connect_worker_metrics_connector_running_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "running",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_connect_connect_worker_metrics_connector_failed_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "failed",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_connect_connect_worker_metrics_connector_paused_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "paused",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_connect_connect_worker_metrics_connector_unassigned_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "unassigned",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_connect_connect_worker_metrics_connector_destroyed_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "destroyed",
+ "refId": "E"
+ }
+ ],
+ "title": "Task repartition per status",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Status of connectors over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 3,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "paused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/stopped.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2495C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/paused.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF9830",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/running.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#73BF69",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 11
+ },
+ "id": 228,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum (kafka_connect_connector_metrics{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\",status!=\"\"}) by (status) ",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{status}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Status of connectors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Status of tasks over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 3,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "destroyed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "failed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "paused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "running"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "unassigned"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 11
+ },
+ "id": 226,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_connect_connect_worker_metrics_connector_running_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "running",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_connect_connect_worker_metrics_connector_failed_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "failed",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_connect_connect_worker_metrics_connector_paused_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "paused",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_connect_connect_worker_metrics_connector_destroyed_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "destroyed",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_connect_connect_worker_metrics_connector_unassigned_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "unassigned",
+ "refId": "E"
+ }
+ ],
+ "title": "Status of tasks",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 17
+ },
+ "id": 221,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "System",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Cores",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 18
+ },
+ "id": 223,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "rate(process_cpu_seconds_total{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "{{cluster}}/{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "CPU Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Memory",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 18
+ },
+ "id": 224,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum without(area)(jvm_memory_bytes_used{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "{{cluster}}/{{instance}}",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "jvm_memory_bytes_max{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",area=\"heap\"}",
+ "interval": "",
+ "legendFormat": "{{cluster}}/{{instance}}",
+ "refId": "B"
+ }
+ ],
+ "title": "JVM Memory Used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "% time in GC",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 18
+ },
+ "id": 225,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum without(gc)(rate(jvm_gc_collection_seconds_sum{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{cluster}}/{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "JVM Memory Used",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 26
+ },
+ "id": 97,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Connect Worker",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "right",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false,
+ "minWidth": 50
+ },
+ "decimals": 2,
+ "displayName": "",
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "__name__"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "env"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "client_id"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "start_time_ms"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Startup time"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "unit",
+ "value": "time: MMMM D, YYYY LT"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #C"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Connector Count"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #D"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Connector Startup Success Total"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #E"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Connector Startup Failure Total"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #F"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Number of rebalances"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #G"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Average time of Rebalances"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #H"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Time since last rebalance"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Worker instance"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #I"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Number of tasks"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": ""
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #J"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Task Startup Success "
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #K"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Task Startup Failure"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "id": 146,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_app_info{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",client_id!=\"\",start_time_ms!=\"\"}",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_app_info{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",client_id!=\"\",version!=\"\"}",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (instance) (kafka_connect_connect_worker_metrics_connector_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (instance) (kafka_connect_connect_worker_metrics_connector_startup_success_total{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (instance) (kafka_connect_connect_worker_metrics_connector_startup_failure_total{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "E"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (instance) (kafka_connect_connect_worker_metrics_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "I"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (instance) (kafka_connect_connect_worker_metrics_task_startup_success_total{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "J"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (instance) (kafka_connect_connect_worker_metrics_task_startup_failure_total{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "K"
+ }
+ ],
+ "title": "Connect Worker",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ }
+ ],
+ "transparent": true,
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Average number of network operations (reads or writes) on all connections per second",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 35
+ },
+ "id": 95,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connect_metrics_network_io_rate{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",client_id!=\"\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}/{{client_id}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Network IO Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Bytes per second read off all sockets",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 35
+ },
+ "id": 91,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connect_metrics_incoming_byte_rate{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",client_id!=\"\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}/{{client_id}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Incoming Byte Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Average number of outgoing bytes sent per second to all servers",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 35
+ },
+ "id": 171,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connect_metrics_outgoing_byte_rate{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",client_id!=\"\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}/{{client_id}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Outgoing Byte Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Current number of active connections",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "connections"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 42
+ },
+ "id": 169,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connect_metrics_connection_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",client_id!=\"\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}/{{client_id}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Current number of active connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Connections that failed authentication",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "connections"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 42
+ },
+ "id": 170,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connect_metrics_failed_authentication_total{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",client_id!=\"\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}/{{client_id}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Failed authentication connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Connections that were successfully authenticated using SASL or SSL",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "connections"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 42
+ },
+ "id": 174,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connect_metrics_successful_authentication_rate{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",client_id!=\"\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}/{{client_id}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Success authentication connections",
+ "type": "timeseries"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Average number of requests sent per second",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ]
+ },
+ "overrides": [ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 49
+ },
+ "hiddenSeries": false,
+ "id": 172,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "10.2.3",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connect_metrics_request_rate{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",client_id!=\"\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}/{{client_id}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeRegions": [ ],
+ "title": "Average number of requests",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "reqps",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Responses received and sent per second",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ]
+ },
+ "overrides": [ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 49
+ },
+ "hiddenSeries": false,
+ "id": 173,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "10.2.3",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connect_metrics_response_rate{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",client_id!=\"\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}/{{client_id}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeRegions": [ ],
+ "title": "Responses received and sent",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "reqps",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Fraction of time the I/O thread spent doing I/O",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ]
+ },
+ "overrides": [ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 49
+ },
+ "hiddenSeries": false,
+ "id": 93,
+ "legend": {
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "10.2.3",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connect_metrics_io_ratio{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",client_id!=\"\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}/{{client_id}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeRegions": [ ],
+ "title": "IO Ratio",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "percentunit",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 56
+ },
+ "id": 132,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Connector details",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "right",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "decimals": 2,
+ "displayName": "",
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "__name__"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "connector_class"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "class"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "env"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Nb of Tasks destroyed"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-background"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "#B877D9",
+ "value": 1
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #C"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #D"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "status"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-background"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 2
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "connector"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "name"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "connector_type"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "type"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "connector_version"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "version"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #E"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Nb of tasks"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-background"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 1
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #F"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Nb of Tasks running"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-background"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 1
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #G"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Nb of Tasks failed"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-background"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "#F2495C",
+ "value": 1
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #H"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Nb of Tasks paused"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-background"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "#FF9830",
+ "value": 1
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #I"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #J"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Nb of Tasks unassigned"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-background"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "#FADE2A",
+ "value": 1
+ }
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 24,
+ "x": 0,
+ "y": 57
+ },
+ "id": 129,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "label_replace(label_replace(label_replace(kafka_connect_connector_info{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\",status!=\"\"}, \"status\", \"1\", \"status\", \"running\"), \"status\", \"2\", \"status\", \"paused\"), \"status\", \"3\", \"status\", \"stopped\")",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "I"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connector_info{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\",connector_type!=\"\"}",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connector_info{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\",connector_version!=\"\"}",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connector_info{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\",connector_class!=\"\"}",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (connector) (kafka_connect_connect_worker_metrics_connector_total_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "E"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (connector) (kafka_connect_connect_worker_metrics_connector_running_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "F"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (connector) (kafka_connect_connect_worker_metrics_connector_failed_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "G"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (connector) (kafka_connect_connect_worker_metrics_connector_paused_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "H"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (connector) (kafka_connect_connect_worker_metrics_connector_destroyed_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (connector) (kafka_connect_connect_worker_metrics_connector_unassigned_task_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"})",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "J"
+ }
+ ],
+ "title": "Connectors",
+ "transformations": [
+ {
+ "id": "seriesToRows",
+ "options": {
+ "reducers": [ ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 68
+ },
+ "id": 234,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Rebalances",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Rebalances average time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 69
+ },
+ "id": 209,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connect_worker_rebalance_metrics_rebalance_avg_time_ms{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{cluster}}/{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Rebalances average time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Time since last rebalance",
+ "fieldConfig": {
+ "defaults": {
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ }
+ ]
+ },
+ "unit": "clockms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 24,
+ "x": 0,
+ "y": 77
+ },
+ "id": 230,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "repeat": "instance",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connect_worker_rebalance_metrics_time_since_last_rebalance_ms{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"} >= 0",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "($instance) Time since last rebalance ",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 81
+ },
+ "id": 112,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Task metrics",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Average size of the batches processed by the connector",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 82
+ },
+ "id": 113,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connector_task_metrics_batch_size_avg{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Batch Size Average",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Maximum size of the batches processed by the connector",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 82
+ },
+ "id": 114,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connector_task_metrics_batch_size_max{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Batch Size Max",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Average percentage of the task’s offset commit attempts that succeeded",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 89
+ },
+ "id": 115,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connector_task_metrics_offset_commit_success_percentage{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Offset commit success percentage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The average time in milliseconds taken by this task to commit offsets",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 89
+ },
+ "id": 116,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connector_task_metrics_offset_commit_avg_time_ms{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Offset commit Average Time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The fraction of time this task has spent in the running state.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 96
+ },
+ "id": 117,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_connector_task_metrics_running_ratio{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Running ratio",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 103
+ },
+ "id": 201,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Task Errors metrics",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Total number of failures seen by task",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 104
+ },
+ "id": 203,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_task_error_metrics_total_record_failures{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Total record failures",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Total number of errors seen by task",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 104
+ },
+ "id": 205,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_task_error_metrics_total_record_errors{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Total record errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Total number of records skipped by task",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 104
+ },
+ "id": 206,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_task_error_metrics_total_records_skipped{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Total record skipped",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of messages that was logged into either the dead letter queue or with Log4j",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 111
+ },
+ "id": 208,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_task_error_metrics_total_errors_logged{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Total errors logged",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Total number of retries made by task",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 111
+ },
+ "id": 207,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_task_error_metrics_total_retries{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Total retries",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Number of produce requests to the dead letter queue",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 118
+ },
+ "id": 202,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_task_error_metrics_deadletterqueue_produce_requests{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Dead letter queue Produce requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Number of produce requests to the dead letter queue",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 118
+ },
+ "id": 204,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_task_error_metrics_deadletterqueue_produce_requests{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Dead letter queue Produce requests",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 125
+ },
+ "id": 139,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Source metrics",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The average time in milliseconds taken by this task to poll for a batch of source records",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 126
+ },
+ "id": 140,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_source_task_metrics_poll_batch_avg_time_ms{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\",task!=\"\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Poll Batch Average time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The maximum time in milliseconds taken by this task to poll for a batch of source records",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 126
+ },
+ "id": 141,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_source_task_metrics_poll_batch_max_time_ms{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\",task!=\"\"}",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Poll Batch Max time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The average per-second number of records produced/polled (before transformation) by this task belonging to the named source connector in this worker.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 133
+ },
+ "id": 144,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_source_task_metrics_source_record_poll_rate{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\",task!=\"\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Source Record Poll rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The average per-second number of records output from the transformations and written to Kafka for this task belonging to the named source connector in this worker. This is after transformations are applied and excludes any records filtered out by the transformations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 133
+ },
+ "id": 143,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_source_task_metrics_source_record_write_rate{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\",task!=\"\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Source Record Write rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The average number of records that have been produced by this task but not yet completely written to Kafka.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 140
+ },
+ "id": 142,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_source_task_metrics_source_record_active_count_avg{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\",task!=\"\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Source Record Active Count average",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The maximum number of records that have been produced by this task but not yet completely written to Kafka.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 140
+ },
+ "id": 145,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_source_task_metrics_source_record_active_count_max{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\",task!=\"\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Source Record Active Count max",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 147
+ },
+ "id": 134,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Sink metrics",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of topic partitions assigned to this task belonging to the named sink connector in this worker.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 148
+ },
+ "id": 135,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_sink_task_metrics_partition_count{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\",task!=\"\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Partition Count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The average time in milliseconds taken by this task to put a batch of sinks records",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 148
+ },
+ "id": 136,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_sink_task_metrics_put_batch_avg_time_ms{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\",task!=\"\"}",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Put Batch Average time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The maximum time in milliseconds taken by this task to put a batch of sinks records",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 148
+ },
+ "id": 137,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_connect_sink_task_metrics_put_batch_max_time_ms{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",connector=~\"$connector\",task!=\"\"}",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{connector}}-{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Put Batch Max time",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 39,
+ "tags": [
+ "kafka-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(kafka_connect_app_info{job=~\"integrations/kafka-connect|integrations/kafka\"}, job)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(kafka_server_kafkaserver_brokerstate{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Kafka_cluster",
+ "multi": true,
+ "name": "kafka_cluster",
+ "options": [ ],
+ "query": "label_values(kafka_connect_app_info{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\"}, kafka_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(kafka_connect_app_info{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(kafka_connect_connector_task_metrics_pause_ratio{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"},connector)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Connector",
+ "multi": true,
+ "name": "connector",
+ "options": [ ],
+ "query": "label_values(kafka_connect_connector_task_metrics_pause_ratio{job=~\"integrations/kafka-connect|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"},connector)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "hidden": false,
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Kafka Connect Overview",
+ "uid": "AEaSQ97mz",
+ "version": 2,
+ "weekStart": ""
+}
diff --git a/assets/kafka/dashboards/kafka-ksqldb-overview.json b/assets/kafka/dashboards/kafka-ksqldb-overview.json
new file mode 100644
index 0000000..e5e82c1
--- /dev/null
+++ b/assets/kafka/dashboards/kafka-ksqldb-overview.json
@@ -0,0 +1,4419 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 5,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 29,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Overview",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Average number of active queries per server.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0
+ },
+ {
+ "color": "#299c46",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 1
+ },
+ "id": 18,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg(ksql_ksql_engine_query_stats_num_active_queries{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Active Queries",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Num of created queries",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 500
+ },
+ {
+ "color": "#d44a3a",
+ "value": 800
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 4,
+ "y": 1
+ },
+ "id": 20,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg(ksql_ksql_engine_query_stats_running_queries{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Running Queries",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Num of persisted queries",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0
+ },
+ {
+ "color": "#299c46",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 8,
+ "y": 1
+ },
+ "id": 2,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg(ksql_ksql_engine_query_stats_num_persistent_queries{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Persisted Queries",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Num of rebalancing queries",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1
+ },
+ {
+ "color": "#d44a3a",
+ "value": 5
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 12,
+ "y": 1
+ },
+ "id": 16,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(ksql_ksql_engine_query_stats_rebalancing_queries{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Rebalancing Queries",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Number of error query",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1
+ },
+ {
+ "color": "#d44a3a",
+ "value": 2
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 16,
+ "y": 1
+ },
+ "id": 4,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg(ksql_ksql_engine_query_stats_error_queries{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Queries in Error State",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Num of idle queries",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1
+ },
+ {
+ "color": "#d44a3a",
+ "value": 5
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 20,
+ "y": 1
+ },
+ "id": 19,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(ksql_ksql_engine_query_stats_num_idle_queries{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Idle Queries",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ksql_query"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 426
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 381
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 16,
+ "x": 0,
+ "y": 5
+ },
+ "id": 23,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [ ]
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "ksql_ksql_metrics_ksql_queries_query_status{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Queries Status",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Value": true,
+ "__name__": true,
+ "env": true,
+ "job": true,
+ "ksql_cluster": true
+ },
+ "indexByName": { },
+ "renameByName": {
+ "Time": "",
+ "__name__": "",
+ "instance": "",
+ "ksql_cluster": "",
+ "ksql_query": ""
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Num of not running queries",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1
+ },
+ {
+ "color": "#d44a3a",
+ "value": 5
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 16,
+ "y": 5
+ },
+ "id": 5,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(ksql_ksql_engine_query_stats_not_running_queries{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Stopped Queries",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Num of running queries",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1
+ },
+ {
+ "color": "#d44a3a",
+ "value": 5
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 20,
+ "y": 5
+ },
+ "id": 15,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(ksql_ksql_engine_query_stats_pending_shutdown_queries{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Currently Shutting Down Queries",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Cluster liveness",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 16,
+ "y": 9
+ },
+ "id": 17,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "ksql_ksql_engine_query_stats_liveness_indicator{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Cluster liveness",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Message consumed/sec",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 14
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "ksql_ksql_engine_query_stats_messages_consumed_per_sec{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Message consumed/sec",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Message produced/sec",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 14
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "irate(ksql_ksql_engine_query_stats_messages_produced_per_sec{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Message produced/sec",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 22
+ },
+ "id": 33,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "System",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 0,
+ "y": 23
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "irate(process_cpu_seconds_total{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "CPU Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 8,
+ "y": 23
+ },
+ "id": 24,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum without(area)(jvm_memory_bytes_used{ job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "Used:{{instance}}",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "jvm_memory_bytes_max{area=\"heap\", job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "Max:{{instance}}",
+ "refId": "B"
+ }
+ ],
+ "title": "JVM Memory Used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 4,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 16,
+ "y": 23
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum without(gc)(rate(jvm_gc_collection_seconds_sum{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Time spent in GC",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 32
+ },
+ "id": 31,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Queries Performance",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 6,
+ "x": 0,
+ "y": 33
+ },
+ "id": 26,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_thread_metrics_poll_latency_avg{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "legendFormat": "{{thread_id}}_avg",
+ "refId": "A"
+ }
+ ],
+ "title": "Poll Latency (Avg)",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 6,
+ "x": 6,
+ "y": 33
+ },
+ "id": 35,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_thread_metrics_poll_latency_max{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{thread_id}}_max",
+ "refId": "B"
+ }
+ ],
+ "title": "Poll Latency (Max)",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 6,
+ "x": 12,
+ "y": 33
+ },
+ "id": 25,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_thread_metrics_process_latency_avg{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "{{thread_id}}_avg",
+ "refId": "A"
+ }
+ ],
+ "title": "Process Latency (Avg)",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 6,
+ "x": 18,
+ "y": 33
+ },
+ "id": 34,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_thread_metrics_process_latency_max{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{thread_id}}_max",
+ "refId": "B"
+ }
+ ],
+ "title": "Process Latency Max",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 6,
+ "x": 0,
+ "y": 44
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_thread_metrics_commit_latency_avg{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "{{thread_id}}_avg",
+ "refId": "A"
+ }
+ ],
+ "title": "Commit Latency (Avg)",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 6,
+ "x": 6,
+ "y": 44
+ },
+ "id": 38,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_thread_metrics_commit_latency_max{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "{{thread_id}}_avg",
+ "refId": "A"
+ }
+ ],
+ "title": "Commit Latency (Max)",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 6,
+ "x": 12,
+ "y": 44
+ },
+ "id": 27,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_thread_metrics_punctuate_latency_avg{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "{{thread_id}}_avg",
+ "refId": "A"
+ }
+ ],
+ "title": "Punctuate Latency (Avg)",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 3,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/max/"
+ },
+ "properties": [
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "dash": [
+ 5,
+ 2
+ ],
+ "fill": "dash"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 6,
+ "x": 18,
+ "y": 44
+ },
+ "id": 37,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_thread_metrics_punctuate_latency_max{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{thread_id}}_max",
+ "refId": "B"
+ }
+ ],
+ "title": "Punctuate Latency (Max)",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 55
+ },
+ "id": 40,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "StateStore Metric",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 3,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 6,
+ "x": 0,
+ "y": 56
+ },
+ "id": 36,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_state_metrics_put_rate{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{thread_id}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Put Rate",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 3,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 9,
+ "x": 6,
+ "y": 56
+ },
+ "id": 42,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_state_metrics_put_latency_avg{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{thread_id}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Put average latency",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 3,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 9,
+ "x": 15,
+ "y": 56
+ },
+ "id": 43,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_state_metrics_put_latency_max{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{thread_id}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Put max latency",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 3,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 6,
+ "x": 0,
+ "y": 67
+ },
+ "id": 52,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_state_metrics_put_if_absent_rate_rate{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{thread_id}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Put if absent rate",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 3,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 9,
+ "x": 6,
+ "y": 67
+ },
+ "id": 53,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_state_metrics_put_if_absent_latency_avg{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{thread_id}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Put if absent average latency",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 3,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 9,
+ "x": 15,
+ "y": 67
+ },
+ "id": 54,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_state_metrics_put_if_absent_latency_max{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{thread_id}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Put if absent max latency",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 3,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 6,
+ "x": 0,
+ "y": 78
+ },
+ "id": 41,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_state_metrics_fetch_rate{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{thread_id}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Fetch Rate",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 3,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 9,
+ "x": 6,
+ "y": 78
+ },
+ "id": 44,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_streams_stream_state_metrics_fetch_latency_avg{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{thread_id}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Fetch average latency",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 3,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 9,
+ "x": 15,
+ "y": 78
+ },
+ "id": 45,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_state_metrics_put_latency_max{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{thread_id}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Fetch max latency",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 3,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 6,
+ "x": 0,
+ "y": 89
+ },
+ "id": 46,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_state_metrics_delete_rate{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{thread_id}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Delete Rate",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 3,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 9,
+ "x": 6,
+ "y": 89
+ },
+ "id": 47,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_state_metrics_delete_latency_avg{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{thread_id}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Delete average latency",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 3,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 9,
+ "x": 15,
+ "y": 89
+ },
+ "id": 48,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_state_metrics_delete_latency_max{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{thread_id}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Delete max latency",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 3,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 6,
+ "x": 0,
+ "y": 100
+ },
+ "id": 49,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_state_metrics_restore_rate{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{thread_id}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Restore Rate",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 3,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 9,
+ "x": 6,
+ "y": 100
+ },
+ "id": 50,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_state_metrics_restore_latency_avg{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{thread_id}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Restore average latency",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 3,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 9,
+ "x": 15,
+ "y": 100
+ },
+ "id": 51,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_streams_stream_state_metrics_restore_latency_max{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{thread_id}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Restore max latency",
+ "transformations": [ ],
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 39,
+ "tags": [
+ "kafka-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(ksql_ksql_engine_query_stats_liveness_indicator{job=~\"integrations/kafka-ksqldb|integrations/kafka\"}, job)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(kafka_server_kafkaserver_brokerstate{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Kafka_cluster",
+ "multi": true,
+ "name": "kafka_cluster",
+ "options": [ ],
+ "query": "label_values(ksql_ksql_engine_query_stats_liveness_indicator{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\"}, kafka_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(ksql_ksql_engine_query_stats_liveness_indicator{job=~\"integrations/kafka-ksqldb|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "ksqldb Overview",
+ "uid": "pbx34foGk",
+ "version": 2,
+ "weekStart": ""
+}
diff --git a/assets/kafka/dashboards/kafka-lag-overview.json b/assets/kafka/dashboards/kafka-lag-overview.json
new file mode 100644
index 0000000..92cb050
--- /dev/null
+++ b/assets/kafka/dashboards/kafka-lag-overview.json
@@ -0,0 +1,833 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Kafka lag overview",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 7589,
+ "graphTooltip": 0,
+ "id": 52,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 14,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 480
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "sum(rate(kafka_topic_partition_current_offset{job=\"integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\", topic=~\"$topic\"}[$__rate_interval])) by (topic)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{topic}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Message in per second",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 16,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 480
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "sum(increase(kafka_topic_partition_current_offset{job=\"integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\", topic=~\"$topic\"}[5m])/5) by (topic)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{topic}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Message in per minute",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 10
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "sum(rate(kafka_consumergroup_current_offset{job=\"integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\", topic=~\"$topic\"}[$__rate_interval])) by (consumergroup, topic)",
+ "interval": "",
+ "legendFormat": "{{consumergroup}} (topic: {{topic}})",
+ "refId": "A"
+ }
+ ],
+ "title": "Message consume per second",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 10
+ },
+ "id": 18,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 480
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "sum(increase(kafka_consumergroup_current_offset{job=\"integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\", topic=~\"$topic\"}[5m])/5) by (consumergroup, topic)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{consumergroup}} (topic: {{topic}})",
+ "refId": "A"
+ }
+ ],
+ "title": "Message consume per minute",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "id": 22,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "avg(kafka_consumer_lag_millis{job=\"integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\", topic=~\"$topic\"}/1000) by (consumergroup, topic)",
+ "interval": "",
+ "legendFormat": "{{consumergroup}} (topic: {{topic}})",
+ "refId": "A"
+ }
+ ],
+ "title": "Lag by consumer group in seconds",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "id": 12,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 480
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "avg(kafka_consumergroup_uncommitted_offsets{job=\"integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\", topic=~\"$topic\"}) by (consumergroup, topic)",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{consumergroup}} (topic: {{topic}})",
+ "refId": "A"
+ }
+ ],
+ "title": "Lag by consumer group",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "fillOpacity": 80,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineWidth": 1,
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 30
+ },
+ "id": 8,
+ "links": [ ],
+ "options": {
+ "barRadius": 0,
+ "barWidth": 0.84999999999999998,
+ "groupWidth": 0.69999999999999996,
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "orientation": "auto",
+ "showValue": "auto",
+ "stacking": "none",
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ },
+ "xTickLabelRotation": 0,
+ "xTickLabelSpacing": 0
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "sum by(topic) (kafka_topic_partitions{job=\"integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\", topic=~\"$topic\"})",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{topic}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Partitions per topic",
+ "type": "barchart"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 37,
+ "style": "dark",
+ "tags": [
+ "kafka-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Data source",
+ "name": "datasource",
+ "query": "prometheus",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(kafka_topic_partition_current_offset{job=\"integrations/kafka\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Kafka_cluster",
+ "multi": true,
+ "name": "kafka_cluster",
+ "query": "label_values(kafka_topic_partition_current_offset{job=\"integrations/kafka\",job=~\"$job\"}, kafka_cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values(kafka_topic_partition_current_offset{job=\"integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(kafka_topic_partition_current_offset{job=\"integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\", topic!='__consumer_offsets',topic!='--kafka'}, topic)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Topic",
+ "multi": true,
+ "name": "topic",
+ "options": [ ],
+ "query": {
+ "query": "label_values(kafka_topic_partition_current_offset{job=\"integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\", topic!='__consumer_offsets',topic!='--kafka'}, topic)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "browser",
+ "title": "Kafka lag overview",
+ "uid": "jwPKIsniz",
+ "version": 6
+}
diff --git a/assets/kafka/dashboards/kafka-overview.json b/assets/kafka/dashboards/kafka-overview.json
new file mode 100644
index 0000000..868a00a
--- /dev/null
+++ b/assets/kafka/dashboards/kafka-overview.json
@@ -0,0 +1,7171 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Kafka resource usage and throughput",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 721,
+ "graphTooltip": 0,
+ "id": 3,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 42,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Healthcheck",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Number of active controllers in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "#e5ac0e",
+ "value": 2
+ },
+ {
+ "color": "#bf1b00"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 1
+ },
+ "id": 12,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_controller_kafkacontroller_activecontrollercount{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Active Controllers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Number of Brokers Online",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0
+ },
+ {
+ "color": "semi-dark-green",
+ "value": 2
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 4,
+ "y": 1
+ },
+ "id": 14,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "count(kafka_server_replicamanager_leadercount{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Brokers Online",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Unclean leader election rate",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1
+ },
+ {
+ "color": "#d44a3a"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 8,
+ "y": 1
+ },
+ "id": 16,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_controller_controllerstats_uncleanleaderelectionspersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Unclean Leader Election Rate",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 2
+ },
+ {
+ "color": "#d44a3a"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 12,
+ "y": 1
+ },
+ "id": 33,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_controller_kafkacontroller_preferredreplicaimbalancecount{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Preferred Replica Imbalance",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Bytes/s",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 1
+ },
+ "id": 84,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(kafka_server_brokertopicmetrics_bytesinpersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",topic!=\"\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Bytes in",
+ "metric": "kafka_server_brokertopicmetrics_bytesinpersec",
+ "refId": "A",
+ "step": 4
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(kafka_server_brokertopicmetrics_bytesoutpersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",topic!=\"\"}[$__rate_interval]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "Bytes out",
+ "metric": "kafka_server_brokertopicmetrics_bytesinpersec",
+ "refId": "B",
+ "step": 4
+ }
+ ],
+ "title": "Broker network throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Number of partitions that dont have an active leader and are hence not writable or readable.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "semi-dark-green",
+ "value": null
+ },
+ {
+ "color": "#bf1b00",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 5
+ },
+ "id": 22,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_controller_kafkacontroller_offlinepartitionscount{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Offline Partitions Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Number of under-replicated partitions (| ISR | < | all replicas |).",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "semi-dark-green",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1
+ },
+ {
+ "color": "#bf1b00",
+ "value": 5
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 4,
+ "y": 5
+ },
+ "id": 20,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_server_replicamanager_underreplicatedpartitions{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "refId": "A"
+ }
+ ],
+ "title": "Under Replicated Partitions",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Number of partitions under min insync replicas.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "semi-dark-green",
+ "value": null
+ },
+ {
+ "color": "#bf1b00",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 8,
+ "y": 5
+ },
+ "id": 32,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_cluster_partition_underminisr{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Under Min ISR Partitions",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Partitions that are online",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0
+ },
+ {
+ "color": "#299c46",
+ "value": 0
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 12,
+ "y": 5
+ },
+ "id": 18,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kafka_server_replicamanager_partitioncount{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Online Partitions",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 9
+ },
+ "id": 40,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "System",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Cores",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "localhost:7071"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 10
+ },
+ "id": 27,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "irate(process_cpu_seconds_total{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}[$__rate_interval])*100",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}",
+ "metric": "process_cpu_secondspersec",
+ "refId": "A",
+ "step": 4
+ }
+ ],
+ "title": "CPU Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Memory",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "localhost:7071"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 10
+ },
+ "id": 2,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum without(area)(jvm_memory_bytes_used{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}",
+ "metric": "jvm_memory_bytes_used",
+ "refId": "A",
+ "step": 4
+ }
+ ],
+ "title": "JVM Memory Used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "% time in GC",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "localhost:7071"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 10
+ },
+ "id": 3,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum without(gc)(rate(jvm_gc_collection_seconds_sum{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}[$__rate_interval]))",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}",
+ "metric": "jvm_gc_collection_seconds_sum",
+ "refId": "A",
+ "step": 4
+ }
+ ],
+ "title": "Time spent in GC",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 17
+ },
+ "id": 29,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Throughput In/Out",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Messages/s",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 18
+ },
+ "id": 4,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum without(instance)(rate(kafka_server_brokertopicmetrics_messagesinpersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",topic=~\"$topic\"}[$__rate_interval]))",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "{{topic}}",
+ "metric": "kafka_server_brokertopicmetrics_messagesinpersec",
+ "refId": "A",
+ "step": 4
+ }
+ ],
+ "title": "Messages In Per Topic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Bytes/s",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 18
+ },
+ "id": 5,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum without(instance)(rate(kafka_server_brokertopicmetrics_bytesinpersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",topic=~\"$topic\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "{{topic}}",
+ "metric": "kafka_server_brokertopicmetrics_bytesinpersec",
+ "refId": "A",
+ "step": 4
+ }
+ ],
+ "title": "Bytes In Per Topic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Bytes/s",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 18
+ },
+ "id": 6,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum without(instance)(rate(kafka_server_brokertopicmetrics_bytesoutpersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",topic=~\"$topic\"}[$__rate_interval]))",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "{{topic}}",
+ "metric": "kafka_server_brokertopicmetrics_bytesinpersec",
+ "refId": "A",
+ "step": 4
+ }
+ ],
+ "title": "Bytes Out Per Topic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Messages/s",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 25
+ },
+ "id": 10,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum without(topic)(rate(kafka_server_brokertopicmetrics_messagesinpersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",topic=~\"$topic\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}",
+ "metric": "kafka_server_brokertopicmetrics_messagesinpersec",
+ "refId": "A",
+ "step": 4
+ }
+ ],
+ "title": "Messages In Per Broker",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Bytes/s",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 25
+ },
+ "id": 7,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum without(topic)(rate(kafka_server_brokertopicmetrics_bytesinpersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",topic=~\"$topic\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}",
+ "metric": "kafka_server_brokertopicmetrics_bytesinpersec",
+ "refId": "A",
+ "step": 4
+ }
+ ],
+ "title": "Bytes In Per Broker",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 25
+ },
+ "id": 9,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum without(topic)(rate(kafka_server_brokertopicmetrics_bytesoutpersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",topic=~\"$topic\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Bytes Out Per Broker",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 32
+ },
+ "id": 117,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Replication",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Offline partitions over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 33
+ },
+ "id": 122,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(kafka_server_replicamanager_partitioncount{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Online Partitions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Offline partitions over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 33
+ },
+ "id": 121,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(kafka_controller_kafkacontroller_offlinepartitionscount{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Offline Partitions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Under replicated partitions over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 41
+ },
+ "id": 120,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(kafka_cluster_partition_underreplicated{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Under Replicated Partitions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Under min in sync replicas partitions over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 41
+ },
+ "id": 119,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(kafka_cluster_partition_underminisr{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Under Min ISR Partitions",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 49
+ },
+ "id": 44,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Thread utilization",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Average fraction of time the network processor threads are idle. Values are between 0 (all resources are used) and 100 (all resources are available) ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 50
+ },
+ "id": 24,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "asc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_socketserver_networkprocessoravgidlepercent{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Network Processor Avg Idle Percent",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Average fraction of time the request handler threads are idle. Values are between 0 (all resources are used) and 100 (all resources are available). ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 50
+ },
+ "id": 25,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "asc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_server_kafkarequesthandlerpool_requesthandleravgidlepercent_total{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Request Handler Avg Idle Percent",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 58
+ },
+ "id": 126,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_requestchannel_requestqueuesize{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Request Queue Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 58
+ },
+ "id": 127,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_requestchannel_responsequeuesize{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",processor=\"\"}",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Response Queue Size",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 66
+ },
+ "id": 86,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Zookeeper",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Latency in millseconds for ZooKeeper requests from broker. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 67
+ },
+ "id": 88,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_server_zookeeperclientmetrics_zookeeperrequestlatencyms{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",quantile=~\"$percentile\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - {{quantile}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Zookeeper Request Latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 67
+ },
+ "id": 92,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "rate(kafka_server_sessionexpirelistener_zookeepersyncconnectspersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}[$__rate_interval])",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Zookeeper connections per sec",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 75
+ },
+ "id": 89,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "rate(kafka_server_sessionexpirelistener_zookeeperexpirespersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}[$__rate_interval])",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Zookeeper expired connections per sec",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 75
+ },
+ "id": 90,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "rate(kafka_server_sessionexpirelistener_zookeeperdisconnectspersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}[$__rate_interval])",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Zookeeper disconnect per sec",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 83
+ },
+ "id": 91,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "rate(kafka_server_sessionexpirelistener_zookeeperauthfailurespersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}[$__rate_interval])",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Zookeeper auth failures per sec",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 91
+ },
+ "id": 82,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Isr Shrinks / Expands",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": ": The number of in-sync replicas (ISRs) for a particular partition should remain fairly static, the only exceptions are when you are expanding your broker cluster or removing partitions. In order to maintain high availability, a healthy Kafka cluster requires a minimum number of ISRs for failover. A replica could be removed from the ISR pool for a couple of reasons: it is too far behind the leaders offset (user-configurable by setting the replica.lag.max.messages configuration parameter), or it has not contacted the leader for some time (configurable with the replica.socket.timeout.ms parameter). No matter the reason, an increase in IsrShrinksPerSec without a corresponding increase in IsrExpandsPerSec shortly thereafter is cause for concern and requires user intervention.The Kafka documentation provides a wealth of information on the user-configurable parameters for brokers.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 92
+ },
+ "id": 80,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_server_replicamanager_isrshrinkspersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "IsrShrinks per Sec",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": ": The number of in-sync replicas (ISRs) for a particular partition should remain fairly static, the only exceptions are when you are expanding your broker cluster or removing partitions. In order to maintain high availability, a healthy Kafka cluster requires a minimum number of ISRs for failover. A replica could be removed from the ISR pool for a couple of reasons: it is too far behind the leaders offset (user-configurable by setting the replica.lag.max.messages configuration parameter), or it has not contacted the leader for some time (configurable with the replica.socket.timeout.ms parameter). No matter the reason, an increase in IsrShrinksPerSec without a corresponding increase in IsrExpandsPerSec shortly thereafter is cause for concern and requires user intervention.The Kafka documentation provides a wealth of information on the user-configurable parameters for brokers.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 92
+ },
+ "id": 83,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_server_replicamanager_isrexpandspersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "hide": false,
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "IsrExpands per Sec",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 100
+ },
+ "id": 53,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Logs size",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 101
+ },
+ "id": 55,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(kafka_log_log_size{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",topic=~\"$topic\"}) by (topic)",
+ "interval": "",
+ "legendFormat": "{{topic}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Log size per Topic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 101
+ },
+ "id": 56,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(kafka_log_log_size{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",topic=~\"$topic\"}) by (instance)",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Log size per Broker",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 109
+ },
+ "id": 58,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Producer Performance",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "A high value can imply there aren't enough IO threads or the CPU is a bottleneck, or the request queue isnt large enough. The request queue size should match the number of connections.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 110
+ },
+ "id": 60,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_requestmetrics_requestqueuetimems{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",quantile=~\"$percentile\",request=\"Produce\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - {{quantile}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Producer - RequestQueueTimeMs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "In most cases, a high value can imply slow local storage or the storage is a bottleneck. One should also investigate LogFlushRateAndTimeMs to know how long page flushes are taking, which will also indicate a slow disk. In the case of FetchFollower requests, time spent in LocalTimeMs can be the result of a ZooKeeper write to change the ISR.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 110
+ },
+ "id": 61,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_requestmetrics_localtimems{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",quantile=~\"$percentile\",request=\"Produce\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - {{quantile}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Producer - LocalTimeMs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "A high value can imply a slow network connection. For fetch request, if the remote time is high, it could be that there is not enough data to give in a fetch response. This can happen when the consumer or replica is caught up and there is no new incoming data. If this is the case, remote time will be close to the max wait time, which is normal. Max wait time is configured via replica.fetch.wait.max.ms and fetch.max.wait.ms. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 118
+ },
+ "id": 62,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_requestmetrics_remotetimems{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",quantile=~\"$percentile\",request=\"Produce\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - {{quantile}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Producer - RemoteTimeMs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "A high value can imply there aren't enough network threads or the network cant dequeue responses quickly enough, causing back pressure in the response queue. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 118
+ },
+ "id": 63,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_requestmetrics_responsequeuetimems{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",quantile=~\"$percentile\",request=\"Produce\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - {{quantile}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Producer - ResponseQueueTimeMs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "A high value can imply the zero-copy from disk to the network is slow, or the network is the bottleneck because the network cant dequeue responses of the TCP socket as quickly as theyre being created. If the network buffer gets full, Kafka will block. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 126
+ },
+ "id": 64,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_requestmetrics_responsesendtimems{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",quantile=~\"$percentile\",request=\"Produce\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - {{quantile}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Producer - ResponseSendTimeMs",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 134
+ },
+ "id": 68,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Consumer Performance",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "A high value can imply there aren't enough IO threads or the CPU is a bottleneck, or the request queue isnt large enough. The request queue size should match the number of connections.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 135
+ },
+ "id": 69,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_requestmetrics_requestqueuetimems{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",quantile=~\"$percentile\",request=\"Fetch\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - {{quantile}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Consumer - RequestQueueTimeMs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "In most cases, a high value can imply slow local storage or the storage is a bottleneck. One should also investigate LogFlushRateAndTimeMs to know how long page flushes are taking, which will also indicate a slow disk. In the case of FetchFollower requests, time spent in LocalTimeMs can be the result of a ZooKeeper write to change the ISR.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 135
+ },
+ "id": 70,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_requestmetrics_localtimems{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",quantile=~\"$percentile\",request=\"Fetch\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - {{quantile}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Consumer - LocalTimeMs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "A high value can imply a slow network connection. For fetch request, if the remote time is high, it could be that there is not enough data to give in a fetch response. This can happen when the consumer or replica is caught up and there is no new incoming data. If this is the case, remote time will be close to the max wait time, which is normal. Max wait time is configured via replica.fetch.wait.max.ms and fetch.max.wait.ms. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 143
+ },
+ "id": 71,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_requestmetrics_remotetimems{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",quantile=~\"$percentile\",request=\"Fetch\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - {{quantile}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Consumer - RemoteTimeMs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "A high value can imply there aren't enough network threads or the network cant dequeue responses quickly enough, causing back pressure in the response queue. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 143
+ },
+ "id": 72,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_requestmetrics_responsequeuetimems{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",quantile=~\"$percentile\",request=\"Fetch\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - {{quantile}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Consumer - ResponseQueueTimeMs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "A high value can imply the zero-copy from disk to the network is slow, or the network is the bottleneck because the network cant dequeue responses of the TCP socket as quickly as theyre being created. If the network buffer gets full, Kafka will block. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 151
+ },
+ "id": 73,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_requestmetrics_responsesendtimems{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",quantile=~\"$percentile\",request=\"Fetch\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - {{quantile}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Consumer - ResponseSendTimeMs",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 159
+ },
+ "id": 66,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Fetch Follower Performance",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "A high value can imply there aren't enough IO threads or the CPU is a bottleneck, or the request queue isnt large enough. The request queue size should match the number of connections.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 160
+ },
+ "id": 74,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_requestmetrics_requestqueuetimems{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",quantile=~\"$percentile\",request=\"FetchFollower\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - {{quantile}}",
+ "refId": "A"
+ }
+ ],
+ "title": "FetchFollower - RequestQueueTimeMs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "In most cases, a high value can imply slow local storage or the storage is a bottleneck. One should also investigate LogFlushRateAndTimeMs to know how long page flushes are taking, which will also indicate a slow disk. In the case of FetchFollower requests, time spent in LocalTimeMs can be the result of a ZooKeeper write to change the ISR.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 160
+ },
+ "id": 75,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_requestmetrics_localtimems{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",quantile=~\"$percentile\",request=\"FetchFollower\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - {{quantile}}",
+ "refId": "A"
+ }
+ ],
+ "title": "FetchFollower - LocalTimeMs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "A high value can imply a slow network connection. For fetch request, if the remote time is high, it could be that there is not enough data to give in a fetch response. This can happen when the consumer or replica is caught up and there is no new incoming data. If this is the case, remote time will be close to the max wait time, which is normal. Max wait time is configured via replica.fetch.wait.max.ms and fetch.max.wait.ms. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 168
+ },
+ "id": 76,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_requestmetrics_remotetimems{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",quantile=~\"$percentile\",request=\"FetchFollower\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - {{quantile}}",
+ "refId": "A"
+ }
+ ],
+ "title": "FetchFollower - RemoteTimeMs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "A high value can imply there aren't enough network threads or the network cant dequeue responses quickly enough, causing back pressure in the response queue. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 168
+ },
+ "id": 77,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_requestmetrics_responsequeuetimems{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",quantile=~\"$percentile\",request=\"FetchFollower\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - {{quantile}}",
+ "refId": "A"
+ }
+ ],
+ "title": "FetchFollower - ResponseQueueTimeMs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "A high value can imply the zero-copy from disk to the network is slow, or the network is the bottleneck because the network cant dequeue responses of the TCP socket as quickly as theyre being created. If the network buffer gets full, Kafka will block. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 176
+ },
+ "id": 78,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_requestmetrics_responsesendtimems{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",quantile=~\"$percentile\",request=\"FetchFollower\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - {{quantile}}",
+ "refId": "A"
+ }
+ ],
+ "title": "FetchFollower - ResponseSendTimeMs",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 184
+ },
+ "id": 97,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Group Coordinator",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Number of consumer groups per group coordinator",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 185
+ },
+ "id": 99,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_coordinator_group_groupmetadatamanager_numgroups{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Consumer groups number per coordinator",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Number of consumer group per state",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 185
+ },
+ "id": 100,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(kafka_coordinator_group_groupmetadatamanager_numgroupsstable{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "stable",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(kafka_coordinator_group_groupmetadatamanager_numgroupspreparingrebalance{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "preparing-rebalance",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(kafka_coordinator_group_groupmetadatamanager_numgroupsdead{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "dead",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(kafka_coordinator_group_groupmetadatamanager_numgroupscompletingrebalance{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "completing-rebalance",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(kafka_coordinator_group_groupmetadatamanager_numgroupsempty{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "empty",
+ "refId": "E"
+ }
+ ],
+ "title": "Nb consumer groups per state",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 193
+ },
+ "id": 102,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Connections",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 194
+ },
+ "id": 104,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(kafka_server_socketservermetrics_connection_count{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}) by (listener)",
+ "interval": "",
+ "legendFormat": "{{listener}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Connections count per listener",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 194
+ },
+ "id": 105,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(kafka_server_socketservermetrics_connection_count{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}) by (instance)",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Connections count per broker",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 202
+ },
+ "id": 106,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(kafka_server_socketservermetrics_connection_creation_rate{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}) by (listener)",
+ "interval": "",
+ "legendFormat": "{{listener}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Connections creation rate per listener",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 202
+ },
+ "id": 107,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(kafka_server_socketservermetrics_connection_creation_rate{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}) by (instance)",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Connections creation rate per instance",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 210
+ },
+ "id": 108,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(kafka_server_socketservermetrics_connection_close_rate{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}) by (listener)",
+ "interval": "",
+ "legendFormat": "{{listener}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Connections close rate per listener",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 210
+ },
+ "id": 110,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(kafka_server_socketservermetrics_connection_close_rate{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}) by (instance)",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Connections close rate per instance",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Tracks the amount of time Acceptor is blocked from accepting connections. See KIP-402 for more details.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 218
+ },
+ "id": 124,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "kafka_network_acceptor_acceptorblockedpercent{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{instance}} - {{listener}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Acceptor Blocked Percentage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 218
+ },
+ "id": 113,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(kafka_server_socketservermetrics_connections{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}) by (client_software_name, client_software_version)",
+ "interval": "",
+ "legendFormat": "{{client_software_name}} {{client_software_version}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Connections per client version",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 226
+ },
+ "id": 31,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Request rate",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Total request rate.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 227
+ },
+ "id": 37,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(kafka_network_requestmetrics_requestspersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Request Per Sec",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Produce request rate.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 4,
+ "y": 227
+ },
+ "id": 112,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(kafka_network_requestmetrics_requestspersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",request=\"Produce\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Produce Request Per Sec",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Fetch request rate.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 8,
+ "y": 227
+ },
+ "id": 111,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(kafka_network_requestmetrics_requestspersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",request=\"FetchConsumer\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Fetch Request Per Sec",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Offset Commit request rate.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 12,
+ "y": 227
+ },
+ "id": 38,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(kafka_network_requestmetrics_requestspersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",request=\"OffsetCommit\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Offset Commit Request Per Sec",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Metadata request rate.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 16,
+ "y": 227
+ },
+ "id": 36,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(kafka_network_requestmetrics_requestspersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",request=\"Metadata\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Metadata Request Per Sec",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 231
+ },
+ "id": 94,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(kafka_server_brokertopicmetrics_totalproducerequestspersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",topic=~\"$topic\"}[$__rate_interval])) by (topic)",
+ "interval": "",
+ "legendFormat": "{{topic}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Produce request per sec per topic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 231
+ },
+ "id": 95,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(kafka_server_brokertopicmetrics_totalfetchrequestspersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",topic=~\"$topic\"}[$__rate_interval])) by (topic)",
+ "interval": "",
+ "legendFormat": "{{topic}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Fetch request per sec per topic",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 239
+ },
+ "id": 46,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Message Conversion",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The number of messages produced converted to match the log.message.format.version.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 240
+ },
+ "id": 48,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(kafka_server_brokertopicmetrics_producemessageconversionspersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}[$__rate_interval]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Number of procuded message conversion",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of messages consumed converted at consumer to match the log.message.format.version.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 240
+ },
+ "id": 51,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(kafka_server_brokertopicmetrics_fetchmessageconversionspersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}[$__rate_interval]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "{{topic}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Number of consumed message conversion",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Number of connection per client version",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ]
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 248
+ },
+ "id": 115,
+ "links": [ ],
+ "options": {
+ "displayLabels": [ ],
+ "legend": {
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true,
+ "values": [ ]
+ },
+ "pieType": "pie",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(kafka_server_socketservermetrics_connections{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}) by (client_software_name, client_software_version) ",
+ "interval": "",
+ "legendFormat": "{{client_software_name}} - {{client_software_version}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Client version repartition",
+ "type": "piechart"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 39,
+ "tags": [
+ "kafka-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(kafka_server_kafkaserver_brokerstate{job=\"integrations/kafka\"}, job)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(kafka_server_kafkaserver_brokerstate{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Kafka_cluster",
+ "multi": true,
+ "name": "kafka_cluster",
+ "options": [ ],
+ "query": "label_values(kafka_server_kafkaserver_brokerstate{job=\"integrations/kafka\",job=~\"$job\"}, kafka_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(kafka_server_kafkaserver_brokerstate{job=\"integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "0.99"
+ ],
+ "value": [
+ "0.99"
+ ]
+ },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(kafka_network_requestmetrics_requestqueuetimems{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}, quantile)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Percentile",
+ "multi": true,
+ "name": "percentile",
+ "options": [ ],
+ "query": "label_values(kafka_network_requestmetrics_requestqueuetimems{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}, quantile)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(kafka_log_log_size{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"},topic)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Topic",
+ "multi": true,
+ "name": "topic",
+ "options": [ ],
+ "query": "label_values(kafka_log_log_size{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"},topic)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "browser",
+ "title": "Kafka Overview",
+ "uid": "qu-QZdfZz",
+ "version": 7,
+ "weekStart": ""
+}
diff --git a/assets/kafka/dashboards/kafka-topics.json b/assets/kafka/dashboards/kafka-topics.json
new file mode 100644
index 0000000..3cc38a7
--- /dev/null
+++ b/assets/kafka/dashboards/kafka-topics.json
@@ -0,0 +1,750 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 4,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum without(instance) (rate(kafka_server_brokertopicmetrics_messagesinpersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",topic=~\"$topic\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{topic}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Messages In",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "binBps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 9
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum without(instance) (rate(kafka_server_brokertopicmetrics_bytesinpersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",topic=~\"$topic\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{topic}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Bytes In",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "binBps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 9
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum without(instance) (rate(kafka_server_brokertopicmetrics_bytesoutpersec{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",topic=~\"$topic\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{topic}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Bytes Out",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "partition"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 103
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "offset"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 226
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 18
+ },
+ "id": 6,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": false,
+ "displayName": "partition"
+ }
+ ]
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_log_log_logstartoffset{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",topic=~\"$topic\"}",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Start Offset",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "__name__": true,
+ "env": true,
+ "instance": false,
+ "job": true
+ },
+ "indexByName": {
+ "Time": 0,
+ "Value": 7,
+ "__name__": 1,
+ "env": 2,
+ "instance": 3,
+ "job": 4,
+ "partition": 6,
+ "topic": 5
+ },
+ "renameByName": {
+ "Value": "offset"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "partition"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 103
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "offset"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 226
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 7,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": false,
+ "displayName": "partition"
+ }
+ ]
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_log_log_logendoffset{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",topic=~\"$topic\"}",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "End Offset",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "__name__": true,
+ "env": true,
+ "instance": false,
+ "job": true
+ },
+ "indexByName": {
+ "Time": 0,
+ "Value": 7,
+ "__name__": 1,
+ "env": 2,
+ "instance": 3,
+ "job": 4,
+ "partition": 6,
+ "topic": 5
+ },
+ "renameByName": {
+ "Value": "offset"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 39,
+ "tags": [
+ "kafka-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(kafka_log_log_size{job=\"integrations/kafka\"}, job)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(kafka_server_kafkaserver_brokerstate{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Kafka_cluster",
+ "multi": true,
+ "name": "kafka_cluster",
+ "options": [ ],
+ "query": "label_values(kafka_log_log_size{job=\"integrations/kafka\",job=~\"$job\"}, kafka_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(kafka_log_log_size{job=\"integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(kafka_log_log_size{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"},topic)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Topic name",
+ "multi": true,
+ "name": "topic",
+ "options": [ ],
+ "query": "label_values(kafka_log_log_size{job=\"integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"},topic)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": { },
+ "timezone": "",
+ "title": "Kafka Topics",
+ "uid": "vQT4b1-Mz",
+ "version": 2,
+ "weekStart": ""
+}
diff --git a/assets/kafka/dashboards/schema-registry-overview.json b/assets/kafka/dashboards/schema-registry-overview.json
new file mode 100644
index 0000000..0516994
--- /dev/null
+++ b/assets/kafka/dashboards/schema-registry-overview.json
@@ -0,0 +1,1147 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 7,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 19,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Schemas",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 4,
+ "x": 0,
+ "y": 1
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "avg(kafka_schema_registry_registered_count{job=~\"integrations/kafka-schemaregistry|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Schemas registered",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 4,
+ "y": 1
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(schema_type) (kafka_schema_registry_schemas_created{job=~\"integrations/kafka-schemaregistry|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "{{schema_type}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Schema registered over time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ]
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 4,
+ "x": 16,
+ "y": 1
+ },
+ "id": 8,
+ "links": [ ],
+ "options": {
+ "displayLabels": [ ],
+ "legend": {
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true,
+ "values": [ ]
+ },
+ "pieType": "pie",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.4",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(schema_type)(kafka_schema_registry_schemas_created{job=~\"integrations/kafka-schemaregistry|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "{{schema_type}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Schemas created",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ]
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 4,
+ "x": 20,
+ "y": 1
+ },
+ "id": 9,
+ "links": [ ],
+ "options": {
+ "displayLabels": [ ],
+ "legend": {
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true,
+ "values": [ ]
+ },
+ "pieType": "pie",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.4",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(schema_type)(kafka_schema_registry_schemas_deleted{job=~\"integrations/kafka-schemaregistry|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "{{schema_type}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Schemas deleted",
+ "type": "piechart"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 11
+ },
+ "id": 15,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "System",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 12
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "irate(process_cpu_seconds_total{job=~\"integrations/kafka-schemaregistry|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}[$__rate_interval])*100",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "CPU Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 12
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum without(area)(jvm_memory_bytes_used{job=~\"integrations/kafka-schemaregistry|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "Used:{{instance}}",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "jvm_memory_bytes_max{job=~\"integrations/kafka-schemaregistry|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",area=\"heap\"}",
+ "interval": "",
+ "legendFormat": "Max:{{instance}}",
+ "refId": "B"
+ }
+ ],
+ "title": "JVM Memory Used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 3,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 12
+ },
+ "id": 23,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum without(gc)(rate(jvm_gc_collection_seconds_sum{job=~\"integrations/kafka-schemaregistry|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Time spent in GC",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 19
+ },
+ "id": 17,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Connections",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 20
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_schema_registry_jetty_metrics_connections_active{job=~\"integrations/kafka-schemaregistry|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Active Connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 20
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_schema_registry_jersey_metrics_request_rate{job=~\"integrations/kafka-schemaregistry|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Requests Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 20
+ },
+ "id": 24,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "kafka_schema_registry_jersey_metrics_request_latency_99{job=~\"integrations/kafka-schemaregistry|integrations/kafka\",job=~\"$job\",cluster=~\"$cluster\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Requests latency 99p",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 39,
+ "tags": [
+ "kafka-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(kafka_schema_registry_registered_count{job=~\"integrations/kafka-schemaregistry|integrations/kafka\"}, job)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(kafka_server_kafkaserver_brokerstate{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Kafka_cluster",
+ "multi": true,
+ "name": "kafka_cluster",
+ "options": [ ],
+ "query": "label_values(kafka_schema_registry_registered_count{job=~\"integrations/kafka-schemaregistry|integrations/kafka\",job=~\"$job\"}, kafka_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(kafka_schema_registry_registered_count{job=~\"integrations/kafka-schemaregistry|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": { },
+ "timezone": "",
+ "title": "Schema Registry Overview",
+ "uid": "9ixzve-Mk",
+ "version": 2,
+ "weekStart": ""
+}
diff --git a/assets/kafka/dashboards/zookeeper-overview.json b/assets/kafka/dashboards/zookeeper-overview.json
new file mode 100644
index 0000000..438a4c7
--- /dev/null
+++ b/assets/kafka/dashboards/zookeeper-overview.json
@@ -0,0 +1,1235 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 125,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 22,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Health check",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Quorum size of zookeeper ensemble or number of nodes online for single instance deployments",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 2
+ },
+ {
+ "color": "#299c46",
+ "value": 3
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 1
+ },
+ "id": 2,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "# kafka operator case\ncount(zookeeper_quorumsize{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})\n# kafka grafana cloud integration case\nor count(zookeeper_status_quorumsize{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})\n# or single instance case (non-cluster)\nor count(up{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"} == 1)",
+ "interval": "",
+ "legendFormat": "",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Zookeeper nodes online",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Number of alive connections",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 100
+ },
+ {
+ "color": "#d44a3a",
+ "value": 200
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 4,
+ "y": 1
+ },
+ "id": 4,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "sum(zookeeper_numaliveconnections{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Alive connections",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Number of queued requests in the server. This goes up when the server receives more requests than it can process",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "dashed"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 16,
+ "x": 8,
+ "y": 1
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "zookeeper_outstandingrequests{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{server_name}}/{{instance}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Outstanding requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 5
+ },
+ "id": 3,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "avg(zookeeper_inmemorydatatree_nodecount{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Number of ZNodes",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Number of watchers",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 500
+ },
+ {
+ "color": "#d44a3a",
+ "value": 1000
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 4,
+ "y": 5
+ },
+ "id": 5,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "sum(zookeeper_inmemorydatatree_watchcount{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Number of watchers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 9
+ },
+ "id": 20,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "System",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 10
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "# for strimzi operator: remove kafka container java metrics \nirate(process_cpu_seconds_total{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\", container!=\"kafka\"}[$__rate_interval])*100",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "CPU usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 10
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "sum without(area)(jvm_memory_bytes_used{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\", container!=\"kafka\"})",
+ "interval": "",
+ "legendFormat": "Used:{{instance}}",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "jvm_memory_bytes_max{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\",area=\"heap\", container!=\"kafka\"}",
+ "interval": "",
+ "legendFormat": "Max:{{instance}}",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "JVM memory used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 3,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 10
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "# for strimzi operator: remove kafka container java metrics\nsum without(gc)(rate(jvm_gc_collection_seconds_sum{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\", container!=\"kafka\" }[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Time spent in GC",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 17
+ },
+ "id": 18,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Request latency",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Amount of time it takes for the server to respond to a client request",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 18
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "zookeeper_minrequestlatency{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"} * ignoring (minrequestlatency,ticktime)zookeeper_ticktime{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{server_name}}:{{instance}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request latency - min",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Amount of time it takes for the server to respond to a client request",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 12000
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 18
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "zookeeper_avgrequestlatency{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"} * ignoring (avgrequestlatency,ticktime) zookeeper_ticktime{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{server_name}}:{{instance}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request latency - average",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Amount of time it takes for the server to respond to a client request",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 18
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "zookeeper_maxrequestlatency{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"} * ignoring (maxrequestlatency,ticktime)\n zookeeper_ticktime{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\",instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{server_name}}:{{instance}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request latency - max",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "revision": 1,
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": [
+ "kafka"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Data source",
+ "name": "datasource",
+ "query": "prometheus",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(zookeeper_outstandingrequests{job=~\"integrations/kafka-zookeeper|integrations/kafka\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Kafka_cluster",
+ "multi": true,
+ "name": "kafka_cluster",
+ "query": "label_values(zookeeper_outstandingrequests{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\"}, kafka_cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values(zookeeper_outstandingrequests{job=~\"integrations/kafka-zookeeper|integrations/kafka\",job=~\"$job\",kafka_cluster=~\"$kafka_cluster\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "Zookeeper overview",
+ "uid": "H4xS98vWk",
+ "version": 12,
+ "weekStart": ""
+}
diff --git a/assets/kafka/rules.yaml b/assets/kafka/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/kafka/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/kubernetes/alerts.yaml b/assets/kubernetes/alerts.yaml
index dfe4395..3c316e8 100644
--- a/assets/kubernetes/alerts.yaml
+++ b/assets/kubernetes/alerts.yaml
@@ -365,9 +365,9 @@ groups:
runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-cputhrottlinghigh
summary: Processes experience elevated CPU throttling.
expr: |
- sum(increase(container_cpu_cfs_throttled_periods_total{container!="", }[5m])) by (container, pod, namespace)
+ sum(increase(container_cpu_cfs_throttled_periods_total{container!="", }[5m])) by (cluster, container, pod, namespace)
/
- sum(increase(container_cpu_cfs_periods_total{}[5m])) by (container, pod, namespace)
+ sum(increase(container_cpu_cfs_periods_total{}[5m])) by (cluster, container, pod, namespace)
> ( 25 / 100 )
for: 15m
labels:
@@ -377,8 +377,8 @@ groups:
- alert: KubePersistentVolumeFillingUp
annotations:
description: The PersistentVolume claimed by {{ $labels.persistentvolumeclaim
- }} in Namespace {{ $labels.namespace }} is only {{ $value | humanizePercentage
- }} free.
+ }} in Namespace {{ $labels.namespace }} {{ with $labels.cluster -}} on Cluster
+ {{ . }} {{- end }} is only {{ $value | humanizePercentage }} free.
runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubepersistentvolumefillingup
summary: PersistentVolume is filling up.
expr: |
@@ -389,9 +389,9 @@ groups:
) < 0.03
and
kubelet_volume_stats_used_bytes{job="kubelet"} > 0
- unless on(namespace, persistentvolumeclaim)
+ unless on(cluster, namespace, persistentvolumeclaim)
kube_persistentvolumeclaim_access_mode{ access_mode="ReadOnlyMany"} == 1
- unless on(namespace, persistentvolumeclaim)
+ unless on(cluster, namespace, persistentvolumeclaim)
kube_persistentvolumeclaim_labels{label_excluded_from_alerts="true"} == 1
for: 1m
labels:
@@ -399,8 +399,9 @@ groups:
- alert: KubePersistentVolumeFillingUp
annotations:
description: Based on recent sampling, the PersistentVolume claimed by {{ $labels.persistentvolumeclaim
- }} in Namespace {{ $labels.namespace }} is expected to fill up within four
- days. Currently {{ $value | humanizePercentage }} is available.
+ }} in Namespace {{ $labels.namespace }} {{ with $labels.cluster -}} on Cluster
+ {{ . }} {{- end }} is expected to fill up within four days. Currently {{ $value
+ | humanizePercentage }} is available.
runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubepersistentvolumefillingup
summary: PersistentVolume is filling up.
expr: |
@@ -413,9 +414,9 @@ groups:
kubelet_volume_stats_used_bytes{job="kubelet"} > 0
and
predict_linear(kubelet_volume_stats_available_bytes{job="kubelet"}[6h], 4 * 24 * 3600) < 0
- unless on(namespace, persistentvolumeclaim)
+ unless on(cluster, namespace, persistentvolumeclaim)
kube_persistentvolumeclaim_access_mode{ access_mode="ReadOnlyMany"} == 1
- unless on(namespace, persistentvolumeclaim)
+ unless on(cluster, namespace, persistentvolumeclaim)
kube_persistentvolumeclaim_labels{label_excluded_from_alerts="true"} == 1
for: 1h
labels:
@@ -423,8 +424,8 @@ groups:
- alert: KubePersistentVolumeInodesFillingUp
annotations:
description: The PersistentVolume claimed by {{ $labels.persistentvolumeclaim
- }} in Namespace {{ $labels.namespace }} only has {{ $value | humanizePercentage
- }} free inodes.
+ }} in Namespace {{ $labels.namespace }} {{ with $labels.cluster -}} on Cluster
+ {{ . }} {{- end }} only has {{ $value | humanizePercentage }} free inodes.
runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubepersistentvolumeinodesfillingup
summary: PersistentVolumeInodes are filling up.
expr: |
@@ -435,9 +436,9 @@ groups:
) < 0.03
and
kubelet_volume_stats_inodes_used{job="kubelet"} > 0
- unless on(namespace, persistentvolumeclaim)
+ unless on(cluster, namespace, persistentvolumeclaim)
kube_persistentvolumeclaim_access_mode{ access_mode="ReadOnlyMany"} == 1
- unless on(namespace, persistentvolumeclaim)
+ unless on(cluster, namespace, persistentvolumeclaim)
kube_persistentvolumeclaim_labels{label_excluded_from_alerts="true"} == 1
for: 1m
labels:
@@ -445,8 +446,9 @@ groups:
- alert: KubePersistentVolumeInodesFillingUp
annotations:
description: Based on recent sampling, the PersistentVolume claimed by {{ $labels.persistentvolumeclaim
- }} in Namespace {{ $labels.namespace }} is expected to run out of inodes within
- four days. Currently {{ $value | humanizePercentage }} of its inodes are free.
+ }} in Namespace {{ $labels.namespace }} {{ with $labels.cluster -}} on Cluster
+ {{ . }} {{- end }} is expected to run out of inodes within four days. Currently
+ {{ $value | humanizePercentage }} of its inodes are free.
runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubepersistentvolumeinodesfillingup
summary: PersistentVolumeInodes are filling up.
expr: |
@@ -459,17 +461,17 @@ groups:
kubelet_volume_stats_inodes_used{job="kubelet"} > 0
and
predict_linear(kubelet_volume_stats_inodes_free{job="kubelet"}[6h], 4 * 24 * 3600) < 0
- unless on(namespace, persistentvolumeclaim)
+ unless on(cluster, namespace, persistentvolumeclaim)
kube_persistentvolumeclaim_access_mode{ access_mode="ReadOnlyMany"} == 1
- unless on(namespace, persistentvolumeclaim)
+ unless on(cluster, namespace, persistentvolumeclaim)
kube_persistentvolumeclaim_labels{label_excluded_from_alerts="true"} == 1
for: 1h
labels:
severity: warning
- alert: KubePersistentVolumeErrors
annotations:
- description: The persistent volume {{ $labels.persistentvolume }} has status
- {{ $labels.phase }}.
+ description: The persistent volume {{ $labels.persistentvolume }} {{ with $labels.cluster
+ -}} on Cluster {{ . }} {{- end }} has status {{ $labels.phase }}.
runbook_url: https://github.com/kubernetes-monitoring/kubernetes-mixin/tree/master/runbook.md#alert-name-kubepersistentvolumeerrors
summary: PersistentVolume is having issues with provisioning.
expr: |
diff --git a/assets/kubernetes/dashboards/apiserver.json b/assets/kubernetes/dashboards/apiserver.json
index 65ae85d..84dcb1d 100644
--- a/assets/kubernetes/dashboards/apiserver.json
+++ b/assets/kubernetes/dashboards/apiserver.json
@@ -1,19 +1,11 @@
{
- "__inputs": [ ],
- "__requires": [ ],
- "annotations": {
- "list": [ ]
- },
"editable": false,
- "gnetId": null,
- "graphTooltip": 0,
- "hideControls": false,
- "id": null,
- "links": [ ],
"panels": [
{
- "content": "The SLO (service level objective) and other metrics displayed on this dashboard are for informational purposes only.",
- "datasource": null,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
"description": "The SLO (service level objective) and other metrics displayed on this dashboard are for informational purposes only.",
"gridPos": {
"h": 2,
@@ -21,1451 +13,794 @@
"x": 0,
"y": 0
},
- "id": 2,
- "mode": "markdown",
- "span": 12,
+ "id": 1,
+ "options": {
+ "content": "The SLO (service level objective) and other metrics displayed on this dashboard are for informational purposes only."
+ },
+ "pluginVersion": "v10.4.0",
"title": "Notice",
"type": "text"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "description": "How many percent of requests (both read and write) in 30 days have been answered successfully and fast enough?",
+ "fieldConfig": {
+ "defaults": {
+ "decimals": 3,
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 2
+ },
+ "id": 2,
+ "interval": "1m",
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "apiserver_request:availability30d{verb=\"all\", cluster=\"$cluster\"}"
+ }
+ ],
+ "title": "Availability (30d) > 99.000%",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "description": "How much error budget is left looking at our 0.990% availability guarantees?",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 100
+ },
+ "decimals": 3,
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 16,
+ "x": 8,
+ "y": 2
+ },
+ "id": 3,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "100 * (apiserver_request:availability30d{verb=\"all\", cluster=\"$cluster\"} - 0.990000)",
+ "legendFormat": "errorbudget"
+ }
+ ],
+ "title": "ErrorBudget (30d) > 99.000%",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "description": "How many percent of read requests (LIST,GET) in 30 days have been answered successfully and fast enough?",
+ "fieldConfig": {
+ "defaults": {
+ "decimals": 3,
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 0,
+ "y": 9
+ },
+ "id": 4,
+ "interval": "1m",
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "apiserver_request:availability30d{verb=\"read\", cluster=\"$cluster\"}"
+ }
+ ],
+ "title": "Read Availability (30d)",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "description": "How many read requests (LIST,GET) per second do the apiservers get by code?",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 100,
+ "stacking": {
+ "mode": "normal"
+ }
+ },
+ "unit": "reqps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/2../i"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": "#56A64B"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/3../i"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": "#F2CC0C"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/4../i"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": "#3274D9"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/5../i"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": "#E02F44"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 6,
+ "y": 9
+ },
+ "id": 5,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (code) (code_resource:apiserver_request_total:rate5m{verb=\"read\", cluster=\"$cluster\"})",
+ "legendFormat": "{{ code }}"
+ }
+ ],
+ "title": "Read SLI - Requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "description": "How many percent of read requests (LIST,GET) per second are returned with errors (5xx)?",
+ "fieldConfig": {
+ "defaults": {
+ "min": 0,
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 12,
+ "y": 9
+ },
+ "id": 6,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (resource) (code_resource:apiserver_request_total:rate5m{verb=\"read\",code=~\"5..\", cluster=\"$cluster\"}) / sum by (resource) (code_resource:apiserver_request_total:rate5m{verb=\"read\", cluster=\"$cluster\"})",
+ "legendFormat": "{{ resource }}"
+ }
+ ],
+ "title": "Read SLI - Errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "description": "How many seconds is the 99th percentile for reading (LIST|GET) a given resource?",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 9
+ },
+ "id": 7,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "cluster_quantile:apiserver_request_sli_duration_seconds:histogram_quantile{verb=\"read\", cluster=\"$cluster\"}",
+ "legendFormat": "{{ resource }}"
+ }
+ ],
+ "title": "Read SLI - Duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "description": "How many percent of write requests (POST|PUT|PATCH|DELETE) in 30 days have been answered successfully and fast enough?",
+ "fieldConfig": {
+ "defaults": {
+ "decimals": 3,
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 0,
+ "y": 16
+ },
+ "id": 8,
+ "interval": "1m",
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "apiserver_request:availability30d{verb=\"write\", cluster=\"$cluster\"}"
+ }
+ ],
+ "title": "Write Availability (30d)",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "description": "How many write requests (POST|PUT|PATCH|DELETE) per second do the apiservers get by code?",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 100,
+ "stacking": {
+ "mode": "normal"
+ }
+ },
+ "unit": "reqps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/2../i"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": "#56A64B"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/3../i"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": "#F2CC0C"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/4../i"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": "#3274D9"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/5../i"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": "#E02F44"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 6,
+ "y": 16
+ },
+ "id": 9,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (code) (code_resource:apiserver_request_total:rate5m{verb=\"write\", cluster=\"$cluster\"})",
+ "legendFormat": "{{ code }}"
+ }
+ ],
+ "title": "Write SLI - Requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "description": "How many percent of write requests (POST|PUT|PATCH|DELETE) per second are returned with errors (5xx)?",
+ "fieldConfig": {
+ "defaults": {
+ "min": 0,
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 12,
+ "y": 16
+ },
+ "id": 10,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (resource) (code_resource:apiserver_request_total:rate5m{verb=\"write\",code=~\"5..\", cluster=\"$cluster\"}) / sum by (resource) (code_resource:apiserver_request_total:rate5m{verb=\"write\", cluster=\"$cluster\"})",
+ "legendFormat": "{{ resource }}"
+ }
+ ],
+ "title": "Write SLI - Errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "description": "How many seconds is the 99th percentile for writing (POST|PUT|PATCH|DELETE) a given resource?",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 16
+ },
+ "id": 11,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "cluster_quantile:apiserver_request_sli_duration_seconds:histogram_quantile{verb=\"write\", cluster=\"$cluster\"}",
+ "legendFormat": "{{ resource }}"
+ }
+ ],
+ "title": "Write SLI - Duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "min": 0,
+ "unit": "ops"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 23
+ },
+ "id": 12,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "placement": "right",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(workqueue_adds_total{job=\"kube-apiserver\", instance=~\"$instance\", cluster=\"$cluster\"}[$__rate_interval])) by (instance, name)",
+ "legendFormat": "{{instance}} {{name}}"
+ }
+ ],
+ "title": "Work Queue Add Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "min": 0,
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 23
+ },
+ "id": 13,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "placement": "right",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(workqueue_depth{job=\"kube-apiserver\", instance=~\"$instance\", cluster=\"$cluster\"}[$__rate_interval])) by (instance, name)",
+ "legendFormat": "{{instance}} {{name}}"
+ }
+ ],
+ "title": "Work Queue Depth",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "min": 0,
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 30
+ },
+ "id": 14,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "histogram_quantile(0.99, sum(rate(workqueue_queue_duration_seconds_bucket{job=\"kube-apiserver\", instance=~\"$instance\", cluster=\"$cluster\"}[$__rate_interval])) by (instance, name, le))",
+ "legendFormat": "{{instance}} {{name}}"
+ }
+ ],
+ "title": "Work Queue Latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "bytes"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 37
+ },
+ "id": 15,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "process_resident_memory_bytes{job=\"kube-apiserver\",instance=~\"$instance\", cluster=\"$cluster\"}",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "min": 0,
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 37
+ },
+ "id": 16,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "rate(process_cpu_seconds_total{job=\"kube-apiserver\",instance=~\"$instance\", cluster=\"$cluster\"}[$__rate_interval])",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "CPU usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 37
+ },
+ "id": 17,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "go_goroutines{job=\"kube-apiserver\",instance=~\"$instance\", cluster=\"$cluster\"}",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Goroutines",
+ "type": "timeseries"
}
],
"refresh": "10s",
- "rows": [
- {
- "collapse": false,
- "collapsed": false,
- "panels": [
- {
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "#299c46",
- "rgba(237, 129, 40, 0.89)",
- "#d44a3a"
- ],
- "datasource": "$datasource",
- "decimals": 3,
- "description": "How many percent of requests (both read and write) in 30 days have been answered successfully and fast enough?",
- "format": "percentunit",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": { },
- "id": 3,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "rightSide": true
- },
- "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": 4,
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
- "targets": [
- {
- "expr": "apiserver_request:availability30d{verb=\"all\", cluster=\"$cluster\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- }
- ],
- "thresholds": "",
- "title": "Availability (30d) > 99.000%",
- "tooltip": {
- "shared": false
- },
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "avg"
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "decimals": 3,
- "description": "How much error budget is left looking at our 0.990% availability guarantees?",
- "fill": 10,
- "fillGradient": 0,
- "gridPos": { },
- "id": 4,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 8,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "100 * (apiserver_request:availability30d{verb=\"all\", cluster=\"$cluster\"} - 0.990000)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "errorbudget",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "ErrorBudget (30d) > 99.000%",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "decimals": 3,
- "format": "percentunit",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "decimals": 3,
- "format": "percentunit",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "collapse": false,
- "collapsed": false,
- "panels": [
- {
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "#299c46",
- "rgba(237, 129, 40, 0.89)",
- "#d44a3a"
- ],
- "datasource": "$datasource",
- "decimals": 3,
- "description": "How many percent of read requests (LIST,GET) in 30 days have been answered successfully and fast enough?",
- "format": "percentunit",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": { },
- "id": 5,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "rightSide": true
- },
- "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": 3,
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
- "targets": [
- {
- "expr": "apiserver_request:availability30d{verb=\"read\", cluster=\"$cluster\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- }
- ],
- "thresholds": "",
- "title": "Read Availability (30d)",
- "tooltip": {
- "shared": false
- },
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "avg"
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "description": "How many read requests (LIST,GET) per second do the apiservers get by code?",
- "fill": 10,
- "fillGradient": 0,
- "gridPos": { },
- "id": 6,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [
- {
- "alias": "/2../i",
- "color": "#56A64B"
- },
- {
- "alias": "/3../i",
- "color": "#F2CC0C"
- },
- {
- "alias": "/4../i",
- "color": "#3274D9"
- },
- {
- "alias": "/5../i",
- "color": "#E02F44"
- }
- ],
- "spaceLength": 10,
- "span": 3,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum by (code) (code_resource:apiserver_request_total:rate5m{verb=\"read\", cluster=\"$cluster\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{ code }}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Read SLI - Requests",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "reqps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "reqps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "description": "How many percent of read requests (LIST,GET) per second are returned with errors (5xx)?",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 7,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 3,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum by (resource) (code_resource:apiserver_request_total:rate5m{verb=\"read\",code=~\"5..\", cluster=\"$cluster\"}) / sum by (resource) (code_resource:apiserver_request_total:rate5m{verb=\"read\", cluster=\"$cluster\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{ resource }}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Read SLI - Errors",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "percentunit",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "percentunit",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "description": "How many seconds is the 99th percentile for reading (LIST|GET) a given resource?",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 8,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 3,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "cluster_quantile:apiserver_request_slo_duration_seconds:histogram_quantile{verb=\"read\", cluster=\"$cluster\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{ resource }}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Read SLI - Duration",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "collapse": false,
- "collapsed": false,
- "panels": [
- {
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "#299c46",
- "rgba(237, 129, 40, 0.89)",
- "#d44a3a"
- ],
- "datasource": "$datasource",
- "decimals": 3,
- "description": "How many percent of write requests (POST|PUT|PATCH|DELETE) in 30 days have been answered successfully and fast enough?",
- "format": "percentunit",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": { },
- "id": 9,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "rightSide": true
- },
- "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": 3,
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
- "targets": [
- {
- "expr": "apiserver_request:availability30d{verb=\"write\", cluster=\"$cluster\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- }
- ],
- "thresholds": "",
- "title": "Write Availability (30d)",
- "tooltip": {
- "shared": false
- },
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "avg"
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "description": "How many write requests (POST|PUT|PATCH|DELETE) per second do the apiservers get by code?",
- "fill": 10,
- "fillGradient": 0,
- "gridPos": { },
- "id": 10,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [
- {
- "alias": "/2../i",
- "color": "#56A64B"
- },
- {
- "alias": "/3../i",
- "color": "#F2CC0C"
- },
- {
- "alias": "/4../i",
- "color": "#3274D9"
- },
- {
- "alias": "/5../i",
- "color": "#E02F44"
- }
- ],
- "spaceLength": 10,
- "span": 3,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum by (code) (code_resource:apiserver_request_total:rate5m{verb=\"write\", cluster=\"$cluster\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{ code }}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Write SLI - Requests",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "reqps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "reqps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "description": "How many percent of write requests (POST|PUT|PATCH|DELETE) per second are returned with errors (5xx)?",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 11,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 3,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum by (resource) (code_resource:apiserver_request_total:rate5m{verb=\"write\",code=~\"5..\", cluster=\"$cluster\"}) / sum by (resource) (code_resource:apiserver_request_total:rate5m{verb=\"write\", cluster=\"$cluster\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{ resource }}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Write SLI - Errors",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "percentunit",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "percentunit",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "description": "How many seconds is the 99th percentile for writing (POST|PUT|PATCH|DELETE) a given resource?",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 12,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 3,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "cluster_quantile:apiserver_request_slo_duration_seconds:histogram_quantile{verb=\"write\", cluster=\"$cluster\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{ resource }}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Write SLI - Duration",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "collapse": false,
- "collapsed": false,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 13,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": false,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(rate(workqueue_adds_total{job=\"kube-apiserver\", instance=~\"$instance\", cluster=\"$cluster\"}[$__rate_interval])) by (instance, name)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}} {{name}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Work Queue Add Rate",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 14,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": false,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(rate(workqueue_depth{job=\"kube-apiserver\", instance=~\"$instance\", cluster=\"$cluster\"}[$__rate_interval])) by (instance, name)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}} {{name}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Work Queue Depth",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 15,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "histogram_quantile(0.99, sum(rate(workqueue_queue_duration_seconds_bucket{job=\"kube-apiserver\", instance=~\"$instance\", cluster=\"$cluster\"}[$__rate_interval])) by (instance, name, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}} {{name}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Work Queue Latency",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "collapse": false,
- "collapsed": false,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 16,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 4,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "process_resident_memory_bytes{job=\"kube-apiserver\",instance=~\"$instance\", cluster=\"$cluster\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 17,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 4,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "rate(process_cpu_seconds_total{job=\"kube-apiserver\",instance=~\"$instance\", cluster=\"$cluster\"}[$__rate_interval])",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU usage",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 18,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 4,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "go_goroutines{job=\"kube-apiserver\",instance=~\"$instance\", cluster=\"$cluster\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Goroutines",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "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
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
- }
- ],
- "schemaVersion": 14,
- "style": "dark",
+ "schemaVersion": 36,
"tags": [
"kubernetes-mixin"
],
@@ -1473,57 +808,42 @@
"list": [
{
"current": {
+ "selected": true,
"text": "default",
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
- "options": [ ],
"query": "prometheus",
- "refresh": 1,
"regex": "",
"type": "datasource"
},
{
- "allValue": null,
- "current": { },
- "datasource": "$datasource",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 2,
- "includeAll": false,
"label": "cluster",
- "multi": false,
"name": "cluster",
- "options": [ ],
"query": "label_values(up{job=\"kube-apiserver\"}, cluster)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "current": { },
- "datasource": "$datasource",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 0,
"includeAll": true,
- "label": null,
- "multi": false,
"name": "instance",
- "options": [ ],
"query": "label_values(up{job=\"kube-apiserver\", cluster=\"$cluster\"}, instance)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
}
]
},
@@ -1531,33 +851,7 @@
"from": "now-1h",
"to": "now"
},
- "timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
- },
"timezone": "UTC",
"title": "Kubernetes / API server",
- "uid": "09ec8aa1e996d6ffcd6817bbaff4db1b",
- "version": 0
+ "uid": "09ec8aa1e996d6ffcd6817bbaff4db1b"
}
diff --git a/assets/kubernetes/dashboards/cluster-total.json b/assets/kubernetes/dashboards/cluster-total.json
index b643179..52ea453 100644
--- a/assets/kubernetes/dashboards/cluster-total.json
+++ b/assets/kubernetes/dashboards/cluster-total.json
@@ -1,1651 +1,781 @@
{
- "__inputs": [ ],
- "__requires": [ ],
- "annotations": {
- "list": [
- {
- "builtIn": 1,
- "datasource": "-- Grafana --",
- "enable": true,
- "hide": true,
- "iconColor": "rgba(0, 211, 255, 1)",
- "name": "Annotations & Alerts",
- "type": "dashboard"
- }
- ]
- },
- "editable": true,
- "gnetId": null,
- "graphTooltip": 0,
- "hideControls": false,
- "id": null,
- "links": [ ],
+ "editable": false,
"panels": [
{
- "collapse": false,
- "collapsed": false,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 0
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "binBps"
+ }
},
- "id": 2,
- "panels": [ ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Current Bandwidth",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "aliasColors": { },
- "bars": true,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
- "y": 1
+ "y": 0
},
- "id": 3,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "sort": "current",
- "sortDesc": true,
- "total": false,
- "values": true
+ "id": 1,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": false,
- "linewidth": 1,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "null",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sort_desc(sum(irate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\".+\"}[$interval:$resolution])) by (namespace))",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{namespace}}",
- "refId": "A",
- "step": 10
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (namespace) (rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Current Rate of Bytes Received",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "series",
- "name": null,
- "show": false,
- "values": [
- "current"
- ]
- },
- "yaxes": [
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": true,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "binBps"
+ }
+ },
"gridPos": {
"h": 9,
"w": 12,
"x": 12,
- "y": 1
+ "y": 0
},
- "id": 4,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "sort": "current",
- "sortDesc": true,
- "total": false,
- "values": true
+ "id": 2,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": false,
- "linewidth": 1,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "null",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sort_desc(sum(irate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\".+\"}[$interval:$resolution])) by (namespace))",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{namespace}}",
- "refId": "A",
- "step": 10
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (namespace) (rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Current Rate of Bytes Transmitted",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "series",
- "name": null,
- "show": false,
- "values": [
- "current"
- ]
- },
- "yaxes": [
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "columns": [
- {
- "text": "Time",
- "value": "Time"
- },
- {
- "text": "Value #A",
- "value": "Value #A"
- },
- {
- "text": "Value #B",
- "value": "Value #B"
- },
- {
- "text": "Value #C",
- "value": "Value #C"
- },
- {
- "text": "Value #D",
- "value": "Value #D"
- },
- {
- "text": "Value #E",
- "value": "Value #E"
- },
- {
- "text": "Value #F",
- "value": "Value #F"
- },
- {
- "text": "Value #G",
- "value": "Value #G"
- },
- {
- "text": "Value #H",
- "value": "Value #H"
- },
- {
- "text": "namespace",
- "value": "namespace"
- }
- ],
- "datasource": "$datasource",
- "fill": 1,
- "fontSize": "90%",
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Bytes/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "binBps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Packets/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "pps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Namespace"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down",
+ "url": "/d/8b7a8b326d7a6f1f04244066368c67af/kubernetes-networking-namespace-pods?${datasource:queryparam}&var-cluster=${cluster}&var-namespace=${__data.fields.Namespace}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
- "y": 10
+ "y": 9
},
- "id": 5,
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "null as zero",
- "renderer": "flot",
- "scroll": true,
- "showHeader": true,
- "sort": {
- "col": 0,
- "desc": false
- },
- "spaceLength": 10,
- "span": 24,
- "styles": [
- {
- "alias": "Time",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Time",
- "thresholds": [ ],
- "type": "hidden",
- "unit": "short"
- },
- {
- "alias": "Current Bandwidth Received",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Current Bandwidth Transmitted",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Average Bandwidth Received",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Average Bandwidth Transmitted",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Rate of Received Packets",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Transmitted Packets",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #F",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Received Packets Dropped",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #G",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Transmitted Packets Dropped",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #H",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Namespace",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTooltip": "Drill down",
- "linkUrl": "d/8b7a8b326d7a6f1f04244066368c67af/kubernetes-networking-namespace-pods?orgId=1&refresh=30s&var-namespace=$__cell",
- "pattern": "namespace",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- }
- ],
+ "id": 3,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sort_desc(sum(irate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\".+\"}[$interval:$resolution])) by (namespace))",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (namespace) (rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A",
- "step": 10
+ "instant": true
},
{
- "expr": "sort_desc(sum(irate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\".+\"}[$interval:$resolution])) by (namespace))",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (namespace) (rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B",
- "step": 10
+ "instant": true
},
{
- "expr": "sort_desc(avg(irate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\".+\"}[$interval:$resolution])) by (namespace))",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "avg by (namespace) (rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C",
- "step": 10
+ "instant": true
},
{
- "expr": "sort_desc(avg(irate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\".+\"}[$interval:$resolution])) by (namespace))",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "avg by (namespace) (rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D",
- "step": 10
+ "instant": true
},
{
- "expr": "sort_desc(sum(irate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=~\".+\"}[$interval:$resolution])) by (namespace))",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (namespace) (rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E",
- "step": 10
+ "instant": true
},
{
- "expr": "sort_desc(sum(irate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=~\".+\"}[$interval:$resolution])) by (namespace))",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (namespace) (rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "F",
- "step": 10
+ "instant": true
},
{
- "expr": "sort_desc(sum(irate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace=~\".+\"}[$interval:$resolution])) by (namespace))",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (namespace) (rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "G",
- "step": 10
+ "instant": true
},
{
- "expr": "sort_desc(sum(irate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=~\".+\"}[$interval:$resolution])) by (namespace))",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (namespace) (rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "H",
- "step": 10
+ "instant": true
}
],
- "timeFrom": null,
- "timeShift": null,
"title": "Current Status",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "namespace",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true,
+ "Time 7": true,
+ "Time 8": true
+ },
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Time 6": 5,
+ "Time 7": 6,
+ "Time 8": 7,
+ "Value #A": 9,
+ "Value #B": 10,
+ "Value #C": 11,
+ "Value #D": 12,
+ "Value #E": 13,
+ "Value #F": 14,
+ "Value #G": 15,
+ "Value #H": 16,
+ "namespace": 8
+ },
+ "renameByName": {
+ "Value #A": "Rx Bytes",
+ "Value #B": "Tx Bytes",
+ "Value #C": "Rx Bytes (Avg)",
+ "Value #D": "Tx Bytes (Avg)",
+ "Value #E": "Rx Packets",
+ "Value #F": "Tx Packets",
+ "Value #G": "Rx Packets Dropped",
+ "Value #H": "Tx Packets Dropped",
+ "namespace": "Namespace"
+ }
+ }
+ }
+ ],
"type": "table"
},
{
- "collapse": true,
- "collapsed": true,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "binBps"
+ }
+ },
"gridPos": {
- "h": 1,
- "w": 24,
+ "h": 9,
+ "w": 12,
"x": 0,
- "y": 10
+ "y": 18
+ },
+ "id": 4,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "avg by (namespace) (rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Average Rate of Bytes Received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "binBps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 5,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "avg by (namespace) (rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Average Rate of Bytes Transmitted",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "binBps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 27
},
"id": 6,
- "panels": [
- {
- "aliasColors": { },
- "bars": true,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 11
- },
- "id": 7,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "sort": "current",
- "sortDesc": true,
- "total": false,
- "values": true
- },
- "lines": false,
- "linewidth": 1,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "null",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(avg(irate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\".+\"}[$interval:$resolution])) by (namespace))",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{namespace}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Average Rate of Bytes Received",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "series",
- "name": null,
- "show": false,
- "values": [
- "current"
- ]
- },
- "yaxes": [
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": true,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 12,
- "y": 11
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "id": 8,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "sort": "current",
- "sortDesc": true,
- "total": false,
- "values": true
- },
- "lines": false,
- "linewidth": 1,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "null",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(avg(irate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\".+\"}[$interval:$resolution])) by (namespace))",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{namespace}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Average Rate of Bytes Transmitted",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "series",
- "name": null,
- "show": false,
- "values": [
- "current"
- ]
- },
- "yaxes": [
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "sum by (namespace) (rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Average Bandwidth",
- "titleSize": "h6",
- "type": "row"
+ "title": "Receive Bandwidth",
+ "type": "timeseries"
},
{
- "collapse": false,
- "collapsed": false,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "binBps"
+ }
+ },
"gridPos": {
- "h": 1,
- "w": 24,
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 27
+ },
+ "id": 7,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (namespace) (rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Transmit Bandwidth",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
"x": 0,
- "y": 11
+ "y": 36
+ },
+ "id": 8,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (namespace) (rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Received Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 36
},
"id": 9,
- "panels": [ ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Bandwidth History",
- "titleSize": "h6",
- "type": "row"
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (namespace) (rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Transmitted Packets",
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ }
+ },
"gridPos": {
"h": 9,
- "w": 24,
+ "w": 12,
"x": 0,
- "y": 12
+ "y": 45
},
"id": 10,
- "legend": {
- "alignAsTable": true,
- "avg": true,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": true,
- "min": true,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": true,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sort_desc(sum(irate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\".+\"}[$interval:$resolution])) by (namespace))",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{namespace}}",
- "refId": "A",
- "step": 10
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (namespace) (rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Receive Bandwidth",
- "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": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "title": "Rate of Received Packets Dropped",
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ }
+ },
"gridPos": {
"h": 9,
- "w": 24,
- "x": 0,
- "y": 21
+ "w": 12,
+ "x": 12,
+ "y": 45
},
"id": 11,
- "legend": {
- "alignAsTable": true,
- "avg": true,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": true,
- "min": true,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": true,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sort_desc(sum(irate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\".+\"}[$interval:$resolution])) by (namespace))",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{namespace}}",
- "refId": "A",
- "step": 10
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (namespace) (rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Transmit Bandwidth",
- "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": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "title": "Rate of Transmitted Packets Dropped",
+ "type": "timeseries"
},
{
- "collapse": true,
- "collapsed": true,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "percentunit"
+ }
+ },
"gridPos": {
- "h": 1,
- "w": 24,
+ "h": 9,
+ "w": 12,
"x": 0,
- "y": 30
+ "y": 54
},
"id": 12,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 24,
- "x": 0,
- "y": 31
- },
- "id": 13,
- "legend": {
- "alignAsTable": true,
- "avg": true,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": true,
- "min": true,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(sum(irate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=~\".+\"}[$interval:$resolution])) by (namespace))",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{namespace}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 24,
- "x": 0,
- "y": 40
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "id": 14,
- "legend": {
- "alignAsTable": true,
- "avg": true,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": true,
- "min": true,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(sum(irate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=~\".+\"}[$interval:$resolution])) by (namespace))",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{namespace}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "sum by (instance) (rate(node_netstat_Tcp_RetransSegs{cluster=\"$cluster\"}[$__rate_interval]) / rate(node_netstat_Tcp_OutSegs{cluster=\"$cluster\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Packets",
- "titleSize": "h6",
- "type": "row"
+ "title": "Rate of TCP Retransmits out of all sent segments",
+ "type": "timeseries"
},
{
- "collapse": true,
- "collapsed": true,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 31
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
},
- "id": 15,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 24,
- "x": 0,
- "y": 50
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
},
- "id": 16,
- "legend": {
- "alignAsTable": true,
- "avg": true,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": true,
- "min": true,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(sum(irate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace=~\".+\"}[$interval:$resolution])) by (namespace))",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{namespace}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets Dropped",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 54
+ },
+ "id": 13,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 24,
- "x": 0,
- "y": 59
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "id": 17,
- "legend": {
- "alignAsTable": true,
- "avg": true,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": true,
- "min": true,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(sum(irate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=~\".+\"}[$interval:$resolution])) by (namespace))",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{namespace}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets Dropped",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 24,
- "x": 0,
- "y": 59
- },
- "id": 18,
- "legend": {
- "alignAsTable": true,
- "avg": true,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": true,
- "min": true,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 2,
- "links": [
- {
- "targetBlank": true,
- "title": "What is TCP Retransmit?",
- "url": "https://accedian.com/enterprises/blog/network-packet-loss-retransmissions-and-duplicate-acknowledgements/"
- }
- ],
- "minSpan": 24,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(sum(rate(node_netstat_Tcp_RetransSegs{cluster=\"$cluster\"}[$interval:$resolution]) / rate(node_netstat_Tcp_OutSegs{cluster=\"$cluster\"}[$interval:$resolution])) by (instance))",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{instance}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of TCP Retransmits out of all sent segments",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "percentunit",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "percentunit",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 24,
- "x": 0,
- "y": 59
- },
- "id": 19,
- "legend": {
- "alignAsTable": true,
- "avg": true,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": true,
- "min": true,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 2,
- "links": [
- {
- "targetBlank": true,
- "title": "Why monitor SYN retransmits?",
- "url": "https://github.com/prometheus/node_exporter/issues/1023#issuecomment-408128365"
- }
- ],
- "minSpan": 24,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(sum(rate(node_netstat_TcpExt_TCPSynRetrans{cluster=\"$cluster\"}[$interval:$resolution]) / rate(node_netstat_Tcp_RetransSegs{cluster=\"$cluster\"}[$interval:$resolution])) by (instance))",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{instance}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of TCP SYN Retransmits out of all retransmits",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "percentunit",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "percentunit",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "sum by (instance) (rate(node_netstat_TcpExt_TCPSynRetrans{cluster=\"$cluster\"}[$__rate_interval]) / rate(node_netstat_Tcp_RetransSegs{cluster=\"$cluster\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Errors",
- "titleSize": "h6",
- "type": "row"
+ "title": "Rate of TCP SYN Retransmits out of all retransmits",
+ "type": "timeseries"
}
],
"refresh": "10s",
- "rows": [ ],
- "schemaVersion": 18,
- "style": "dark",
+ "schemaVersion": 36,
"tags": [
"kubernetes-mixin"
],
"templating": {
"list": [
- {
- "allValue": null,
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
- "current": {
- "text": "5m",
- "value": "5m"
- },
- "datasource": "$datasource",
- "hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
- "name": "resolution",
- "options": [
- {
- "selected": false,
- "text": "30s",
- "value": "30s"
- },
- {
- "selected": true,
- "text": "5m",
- "value": "5m"
- },
- {
- "selected": false,
- "text": "1h",
- "value": "1h"
- }
- ],
- "query": "30s,5m,1h",
- "refresh": 2,
- "regex": "",
- "skipUrlSync": false,
- "sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "interval",
- "useTags": false
- },
- {
- "allValue": null,
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
- "current": {
- "text": "5m",
- "value": "5m"
- },
- "datasource": "$datasource",
- "hide": 2,
- "includeAll": false,
- "label": null,
- "multi": false,
- "name": "interval",
- "options": [
- {
- "selected": true,
- "text": "4h",
- "value": "4h"
- }
- ],
- "query": "4h",
- "refresh": 2,
- "regex": "",
- "skipUrlSync": false,
- "sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "interval",
- "useTags": false
- },
{
"current": {
+ "selected": true,
"text": "default",
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
- "options": [ ],
"query": "prometheus",
- "refresh": 1,
"regex": "",
"type": "datasource"
},
{
- "allValue": null,
- "current": { },
- "datasource": "$datasource",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 2,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "cluster",
"name": "cluster",
- "options": [ ],
"query": "label_values(up{job=\"cadvisor\"}, cluster)",
"refresh": 2,
- "regex": "",
- "sort": 0,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "sort": 1,
+ "type": "query"
}
]
},
@@ -1653,33 +783,7 @@
"from": "now-1h",
"to": "now"
},
- "timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
- },
"timezone": "UTC",
"title": "Kubernetes / Networking / Cluster",
- "uid": "ff635a025bcfea7bc3dd4f508990a3e9",
- "version": 0
+ "uid": "ff635a025bcfea7bc3dd4f508990a3e9"
}
diff --git a/assets/kubernetes/dashboards/controller-manager.json b/assets/kubernetes/dashboards/controller-manager.json
index 9babde8..88c2e15 100644
--- a/assets/kubernetes/dashboards/controller-manager.json
+++ b/assets/kubernetes/dashboards/controller-manager.json
@@ -1,941 +1,527 @@
{
- "__inputs": [ ],
- "__requires": [ ],
- "annotations": {
- "list": [ ]
- },
"editable": false,
- "gnetId": null,
- "graphTooltip": 0,
- "hideControls": false,
- "id": null,
- "links": [ ],
- "refresh": "10s",
- "rows": [
+ "panels": [
{
- "collapse": false,
- "collapsed": false,
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "none"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "interval": "1m",
+ "options": {
+ "colorMode": "none"
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "#299c46",
- "rgba(237, 129, 40, 0.89)",
- "#d44a3a"
- ],
- "datasource": "$datasource",
- "format": "none",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "gridPos": { },
- "id": 2,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "rightSide": true
+ "expr": "sum(up{cluster=\"$cluster\", job=\"kube-controller-manager\"})",
+ "instant": true
+ }
+ ],
+ "title": "Up",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "links": [ ],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
+ "unit": "ops"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 20,
+ "x": 4,
+ "y": 0
+ },
+ "id": 2,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "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
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "tableColumn": "",
- "targets": [
- {
- "expr": "sum(up{cluster=\"$cluster\", job=\"kube-controller-manager\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- }
- ],
- "thresholds": "",
- "title": "Up",
- "tooltip": {
- "shared": false
+ "expr": "sum(rate(workqueue_adds_total{cluster=\"$cluster\", job=\"kube-controller-manager\", instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance, name)",
+ "legendFormat": "{{cluster}} {{instance}} {{name}}"
+ }
+ ],
+ "title": "Work Queue Add Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 3,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "valueName": "min"
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(workqueue_depth{cluster=\"$cluster\", job=\"kube-controller-manager\", instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance, name)",
+ "legendFormat": "{{cluster}} {{instance}} {{name}}"
+ }
+ ],
+ "title": "Work Queue Depth",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 4,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "histogram_quantile(0.99, sum(rate(workqueue_queue_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-controller-manager\", instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance, name, le))",
+ "legendFormat": "{{cluster}} {{instance}} {{name}}"
+ }
+ ],
+ "title": "Work Queue Latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "ops"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 21
+ },
+ "id": 5,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(rest_client_requests_total{job=\"kube-controller-manager\", instance=~\"$instance\",code=~\"2..\"}[$__rate_interval]))",
+ "legendFormat": "2xx"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 3,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(rate(workqueue_adds_total{cluster=\"$cluster\", job=\"kube-controller-manager\", instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance, name)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{cluster}} {{instance}} {{name}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Work Queue Add Rate",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "collapse": false,
- "collapsed": false,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 4,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(rate(workqueue_depth{cluster=\"$cluster\", job=\"kube-controller-manager\", instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance, name)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{cluster}} {{instance}} {{name}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Work Queue Depth",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "collapse": false,
- "collapsed": false,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 5,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "histogram_quantile(0.99, sum(rate(workqueue_queue_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-controller-manager\", instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance, name, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{cluster}} {{instance}} {{name}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Work Queue Latency",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "collapse": false,
- "collapsed": false,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 6,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 4,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(rate(rest_client_requests_total{job=\"kube-controller-manager\", instance=~\"$instance\",code=~\"2..\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "2xx",
- "refId": "A"
- },
- {
- "expr": "sum(rate(rest_client_requests_total{job=\"kube-controller-manager\", instance=~\"$instance\",code=~\"3..\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "3xx",
- "refId": "B"
- },
- {
- "expr": "sum(rate(rest_client_requests_total{job=\"kube-controller-manager\", instance=~\"$instance\",code=~\"4..\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "4xx",
- "refId": "C"
- },
- {
- "expr": "sum(rate(rest_client_requests_total{job=\"kube-controller-manager\", instance=~\"$instance\",code=~\"5..\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "5xx",
- "refId": "D"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Kube API Request Rate",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "expr": "sum(rate(rest_client_requests_total{job=\"kube-controller-manager\", instance=~\"$instance\",code=~\"3..\"}[$__rate_interval]))",
+ "legendFormat": "3xx"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 7,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 8,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "histogram_quantile(0.99, sum(rate(rest_client_request_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-controller-manager\", instance=~\"$instance\", verb=\"POST\"}[$__rate_interval])) by (verb, url, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{verb}} {{url}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Post Request Latency 99th Quantile",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "collapse": false,
- "collapsed": false,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 8,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "histogram_quantile(0.99, sum(rate(rest_client_request_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-controller-manager\", instance=~\"$instance\", verb=\"GET\"}[$__rate_interval])) by (verb, url, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{verb}} {{url}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Get Request Latency 99th Quantile",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "collapse": false,
- "collapsed": false,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 9,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 4,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "process_resident_memory_bytes{cluster=\"$cluster\", job=\"kube-controller-manager\",instance=~\"$instance\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "expr": "sum(rate(rest_client_requests_total{job=\"kube-controller-manager\", instance=~\"$instance\",code=~\"4..\"}[$__rate_interval]))",
+ "legendFormat": "4xx"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 10,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 4,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "rate(process_cpu_seconds_total{cluster=\"$cluster\", job=\"kube-controller-manager\",instance=~\"$instance\"}[$__rate_interval])",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU usage",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 11,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 4,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "go_goroutines{cluster=\"$cluster\", job=\"kube-controller-manager\",instance=~\"$instance\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Goroutines",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "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
- }
- ]
+ "expr": "sum(rate(rest_client_requests_total{job=\"kube-controller-manager\", instance=~\"$instance\",code=~\"5..\"}[$__rate_interval]))",
+ "legendFormat": "5xx"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
+ "title": "Kube API Request Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 16,
+ "x": 8,
+ "y": 21
+ },
+ "id": 6,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "histogram_quantile(0.99, sum(rate(rest_client_request_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-controller-manager\", instance=~\"$instance\", verb=\"POST\"}[$__rate_interval])) by (verb, url, le))",
+ "legendFormat": "{{verb}} {{url}}"
+ }
+ ],
+ "title": "Post Request Latency 99th Quantile",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 7,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "histogram_quantile(0.99, sum(rate(rest_client_request_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-controller-manager\", instance=~\"$instance\", verb=\"GET\"}[$__rate_interval])) by (verb, url, le))",
+ "legendFormat": "{{verb}} {{url}}"
+ }
+ ],
+ "title": "Get Request Latency 99th Quantile",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "bytes"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 35
+ },
+ "id": 8,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "process_resident_memory_bytes{cluster=\"$cluster\", job=\"kube-controller-manager\",instance=~\"$instance\"}",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 35
+ },
+ "id": 9,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "rate(process_cpu_seconds_total{cluster=\"$cluster\", job=\"kube-controller-manager\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "CPU usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 35
+ },
+ "id": 10,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "go_goroutines{cluster=\"$cluster\", job=\"kube-controller-manager\",instance=~\"$instance\"}",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Goroutines",
+ "type": "timeseries"
}
],
- "schemaVersion": 14,
- "style": "dark",
+ "refresh": "10s",
+ "schemaVersion": 36,
"tags": [
"kubernetes-mixin"
],
@@ -943,57 +529,43 @@
"list": [
{
"current": {
+ "selected": true,
"text": "default",
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
- "options": [ ],
"query": "prometheus",
- "refresh": 1,
"regex": "",
"type": "datasource"
},
{
- "allValue": null,
- "current": { },
- "datasource": "$datasource",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 2,
- "includeAll": false,
"label": "cluster",
- "multi": false,
"name": "cluster",
- "options": [ ],
"query": "label_values(up{job=\"kube-controller-manager\"}, cluster)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "current": { },
- "datasource": "$datasource",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 0,
"includeAll": true,
- "label": null,
- "multi": false,
+ "label": "instance",
"name": "instance",
- "options": [ ],
"query": "label_values(up{cluster=\"$cluster\", job=\"kube-controller-manager\"}, instance)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
}
]
},
@@ -1001,33 +573,7 @@
"from": "now-1h",
"to": "now"
},
- "timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
- },
"timezone": "UTC",
"title": "Kubernetes / Controller Manager",
- "uid": "72e0e05bef5099e5f049b05fdc429ed4",
- "version": 0
+ "uid": "72e0e05bef5099e5f049b05fdc429ed4"
}
diff --git a/assets/kubernetes/dashboards/k8s-resources-cluster.json b/assets/kubernetes/dashboards/k8s-resources-cluster.json
index b3dbe41..e8d7293 100644
--- a/assets/kubernetes/dashboards/k8s-resources-cluster.json
+++ b/assets/kubernetes/dashboards/k8s-resources-cluster.json
@@ -1,2598 +1,1524 @@
{
- "annotations": {
- "list": [ ]
- },
- "editable": true,
- "gnetId": null,
- "graphTooltip": 0,
- "hideControls": false,
- "links": [ ],
- "refresh": "10s",
- "rows": [
+ "editable": false,
+ "panels": [
{
- "collapse": false,
- "height": "100px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "none"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "interval": "1m",
+ "options": {
+ "colorMode": "none"
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "format": "percentunit",
- "id": 1,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 2,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "cluster:node_cpu:ratio_rate5m{cluster=\"$cluster\"}",
- "format": "time_series",
- "instant": true,
- "intervalFactor": 2,
- "refId": "A"
- }
- ],
- "thresholds": "70,80",
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU Utilisation",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "singlestat",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "format": "percentunit",
- "id": 2,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 2,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(namespace_cpu:kube_pod_container_resource_requests:sum{cluster=\"$cluster\"}) / sum(kube_node_status_allocatable{job=\"kube-state-metrics\",resource=\"cpu\",cluster=\"$cluster\"})",
- "format": "time_series",
- "instant": true,
- "intervalFactor": 2,
- "refId": "A"
- }
- ],
- "thresholds": "70,80",
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU Requests Commitment",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "singlestat",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "format": "percentunit",
- "id": 3,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 2,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(namespace_cpu:kube_pod_container_resource_limits:sum{cluster=\"$cluster\"}) / sum(kube_node_status_allocatable{job=\"kube-state-metrics\",resource=\"cpu\",cluster=\"$cluster\"})",
- "format": "time_series",
- "instant": true,
- "intervalFactor": 2,
- "refId": "A"
- }
- ],
- "thresholds": "70,80",
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU Limits Commitment",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "singlestat",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "format": "percentunit",
- "id": 4,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 2,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "1 - sum(:node_memory_MemAvailable_bytes:sum{cluster=\"$cluster\"}) / sum(node_memory_MemTotal_bytes{job=\"node-exporter\",cluster=\"$cluster\"})",
- "format": "time_series",
- "instant": true,
- "intervalFactor": 2,
- "refId": "A"
- }
- ],
- "thresholds": "70,80",
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory Utilisation",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "singlestat",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "format": "percentunit",
- "id": 5,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 2,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(namespace_memory:kube_pod_container_resource_requests:sum{cluster=\"$cluster\"}) / sum(kube_node_status_allocatable{job=\"kube-state-metrics\",resource=\"memory\",cluster=\"$cluster\"})",
- "format": "time_series",
- "instant": true,
- "intervalFactor": 2,
- "refId": "A"
- }
- ],
- "thresholds": "70,80",
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory Requests Commitment",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "singlestat",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "format": "percentunit",
- "id": 6,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 2,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(namespace_memory:kube_pod_container_resource_limits:sum{cluster=\"$cluster\"}) / sum(kube_node_status_allocatable{job=\"kube-state-metrics\",resource=\"memory\",cluster=\"$cluster\"})",
- "format": "time_series",
- "instant": true,
- "intervalFactor": 2,
- "refId": "A"
- }
- ],
- "thresholds": "70,80",
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory Limits Commitment",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "singlestat",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "cluster:node_cpu:ratio_rate5m{cluster=\"$cluster\"}",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Headlines",
- "titleSize": "h6"
+ "title": "CPU Utilisation",
+ "type": "stat"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 4,
+ "y": 0
+ },
+ "id": 2,
+ "interval": "1m",
+ "options": {
+ "colorMode": "none"
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 7,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\"}) by (namespace)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{namespace}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU Usage",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum(namespace_cpu:kube_pod_container_resource_requests:sum{cluster=\"$cluster\"}) / sum(kube_node_status_allocatable{job=\"kube-state-metrics\",resource=\"cpu\",cluster=\"$cluster\"})",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "CPU",
- "titleSize": "h6"
+ "title": "CPU Requests Commitment",
+ "type": "stat"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 8,
+ "y": 0
+ },
+ "id": 3,
+ "interval": "1m",
+ "options": {
+ "colorMode": "none"
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 8,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
- },
- {
- "alias": "Pods",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 0,
- "link": true,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down to pods",
- "linkUrl": "/d/85a562078cdf77779eaa1add43ccec1e/k8s-resources-namespace?var-datasource=$datasource&var-cluster=$cluster&var-namespace=$__cell_1",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "Workloads",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 0,
- "link": true,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down to workloads",
- "linkUrl": "/d/a87fb0d919ec0ea5f6543124e16c42a5/k8s-resources-workloads-namespace?var-datasource=$datasource&var-cluster=$cluster&var-namespace=$__cell_1",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Usage",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Requests",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Requests %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "CPU Limits",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #F",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Limits %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #G",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "Namespace",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down to pods",
- "linkUrl": "/d/85a562078cdf77779eaa1add43ccec1e/k8s-resources-namespace?var-datasource=$datasource&var-cluster=$cluster&var-namespace=$__cell",
- "pattern": "namespace",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
- }
- ],
- "targets": [
- {
- "expr": "sum(kube_pod_owner{job=\"kube-state-metrics\", cluster=\"$cluster\"}) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "count(avg(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\"}) by (workload, namespace)) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\"}) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "sum(namespace_cpu:kube_pod_container_resource_requests:sum{cluster=\"$cluster\"}) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\"}) by (namespace) / sum(namespace_cpu:kube_pod_container_resource_requests:sum{cluster=\"$cluster\"}) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- },
- {
- "expr": "sum(namespace_cpu:kube_pod_container_resource_limits:sum{cluster=\"$cluster\"}) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "F"
- },
- {
- "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\"}) by (namespace) / sum(namespace_cpu:kube_pod_container_resource_limits:sum{cluster=\"$cluster\"}) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "G"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU Quota",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum(namespace_cpu:kube_pod_container_resource_limits:sum{cluster=\"$cluster\"}) / sum(kube_node_status_allocatable{job=\"kube-state-metrics\",resource=\"cpu\",cluster=\"$cluster\"})",
+ "instant": true
+ }
+ ],
+ "title": "CPU Limits Commitment",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 12,
+ "y": 0
+ },
+ "id": 4,
+ "interval": "1m",
+ "options": {
+ "colorMode": "none"
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "1 - sum(:node_memory_MemAvailable_bytes:sum{cluster=\"$cluster\"}) / sum(node_memory_MemTotal_bytes{job=\"node-exporter\",cluster=\"$cluster\"})",
+ "instant": true
+ }
+ ],
+ "title": "Memory Utilisation",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 16,
+ "y": 0
+ },
+ "id": 5,
+ "interval": "1m",
+ "options": {
+ "colorMode": "none"
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(namespace_memory:kube_pod_container_resource_requests:sum{cluster=\"$cluster\"}) / sum(kube_node_status_allocatable{job=\"kube-state-metrics\",resource=\"memory\",cluster=\"$cluster\"})",
+ "instant": true
+ }
+ ],
+ "title": "Memory Requests Commitment",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 20,
+ "y": 0
+ },
+ "id": 6,
+ "interval": "1m",
+ "options": {
+ "colorMode": "none"
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(namespace_memory:kube_pod_container_resource_limits:sum{cluster=\"$cluster\"}) / sum(kube_node_status_allocatable{job=\"kube-state-metrics\",resource=\"memory\",cluster=\"$cluster\"})",
+ "instant": true
+ }
+ ],
+ "title": "Memory Limits Commitment",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 6
+ },
+ "id": 7,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\"}) by (namespace)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "CPU Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/%/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "percentunit"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Namespace"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down to pods",
+ "url": "/d/85a562078cdf77779eaa1add43ccec1e/k8s-resources-namespace?${datasource:queryparam}&var-cluster=$cluster&var-namespace=${__data.fields.Namespace}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 12
+ },
+ "id": 8,
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kube_pod_owner{job=\"kube-state-metrics\", cluster=\"$cluster\"}) by (namespace)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "count(avg(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\"}) by (workload, namespace)) by (namespace)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\"}) by (namespace)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(namespace_cpu:kube_pod_container_resource_requests:sum{cluster=\"$cluster\"}) by (namespace)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\"}) by (namespace) / sum(namespace_cpu:kube_pod_container_resource_requests:sum{cluster=\"$cluster\"}) by (namespace)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(namespace_cpu:kube_pod_container_resource_limits:sum{cluster=\"$cluster\"}) by (namespace)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\"}) by (namespace) / sum(namespace_cpu:kube_pod_container_resource_limits:sum{cluster=\"$cluster\"}) by (namespace)",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "CPU Quota",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
+ "transformations": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 9,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(container_memory_rss{job=\"cadvisor\", cluster=\"$cluster\", container!=\"\"}) by (namespace)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{namespace}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory Usage (w/o cache)",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
+ "id": "joinByField",
+ "options": {
+ "byField": "namespace",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true,
+ "Time 7": true
},
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Time 6": 5,
+ "Time 7": 6,
+ "Value #A": 8,
+ "Value #B": 9,
+ "Value #C": 10,
+ "Value #D": 11,
+ "Value #E": 12,
+ "Value #F": 13,
+ "Value #G": 14,
+ "namespace": 7
+ },
+ "renameByName": {
+ "Value #A": "Pods",
+ "Value #B": "Workloads",
+ "Value #C": "CPU Usage",
+ "Value #D": "CPU Requests",
+ "Value #E": "CPU Requests %",
+ "Value #F": "CPU Limits",
+ "Value #G": "CPU Limits %",
+ "namespace": "Namespace"
}
- ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "bytes"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 18
+ },
+ "id": 9,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(container_memory_rss{job=\"cadvisor\", cluster=\"$cluster\", container!=\"\"}) by (namespace)",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "Memory",
- "titleSize": "h6"
+ "type": "timeseries"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/%/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "percentunit"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Memory Usage"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "bytes"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Memory Requests"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "bytes"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Memory Limits"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "bytes"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Namespace"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down to pods",
+ "url": "/d/85a562078cdf77779eaa1add43ccec1e/k8s-resources-namespace?${datasource:queryparam}&var-cluster=$cluster&var-namespace=${__data.fields.Namespace}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 10,
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 10,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
- },
- {
- "alias": "Pods",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 0,
- "link": true,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down to pods",
- "linkUrl": "/d/85a562078cdf77779eaa1add43ccec1e/k8s-resources-namespace?var-datasource=$datasource&var-cluster=$cluster&var-namespace=$__cell_1",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "Workloads",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 0,
- "link": true,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down to workloads",
- "linkUrl": "/d/a87fb0d919ec0ea5f6543124e16c42a5/k8s-resources-workloads-namespace?var-datasource=$datasource&var-cluster=$cluster&var-namespace=$__cell_1",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "Memory Usage",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Requests",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Requests %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "Memory Limits",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #F",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Limits %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #G",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "Namespace",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down to pods",
- "linkUrl": "/d/85a562078cdf77779eaa1add43ccec1e/k8s-resources-namespace?var-datasource=$datasource&var-cluster=$cluster&var-namespace=$__cell",
- "pattern": "namespace",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
- }
- ],
- "targets": [
- {
- "expr": "sum(kube_pod_owner{job=\"kube-state-metrics\", cluster=\"$cluster\"}) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "count(avg(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\"}) by (workload, namespace)) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "sum(container_memory_rss{job=\"cadvisor\", cluster=\"$cluster\", container!=\"\"}) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "sum(namespace_memory:kube_pod_container_resource_requests:sum{cluster=\"$cluster\"}) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "sum(container_memory_rss{job=\"cadvisor\", cluster=\"$cluster\", container!=\"\"}) by (namespace) / sum(namespace_memory:kube_pod_container_resource_requests:sum{cluster=\"$cluster\"}) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- },
- {
- "expr": "sum(namespace_memory:kube_pod_container_resource_limits:sum{cluster=\"$cluster\"}) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "F"
- },
- {
- "expr": "sum(container_memory_rss{job=\"cadvisor\", cluster=\"$cluster\", container!=\"\"}) by (namespace) / sum(namespace_memory:kube_pod_container_resource_limits:sum{cluster=\"$cluster\"}) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "G"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Requests by Namespace",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "expr": "sum(kube_pod_owner{job=\"kube-state-metrics\", cluster=\"$cluster\"}) by (namespace)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "count(avg(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\"}) by (workload, namespace)) by (namespace)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum(container_memory_rss{job=\"cadvisor\", cluster=\"$cluster\", container!=\"\"}) by (namespace)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(namespace_memory:kube_pod_container_resource_requests:sum{cluster=\"$cluster\"}) by (namespace)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(container_memory_rss{job=\"cadvisor\", cluster=\"$cluster\", container!=\"\"}) by (namespace) / sum(namespace_memory:kube_pod_container_resource_requests:sum{cluster=\"$cluster\"}) by (namespace)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(namespace_memory:kube_pod_container_resource_limits:sum{cluster=\"$cluster\"}) by (namespace)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(container_memory_rss{job=\"cadvisor\", cluster=\"$cluster\", container!=\"\"}) by (namespace) / sum(namespace_memory:kube_pod_container_resource_limits:sum{cluster=\"$cluster\"}) by (namespace)",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Memory Requests",
- "titleSize": "h6"
+ "title": "Memory Requests by Namespace",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "namespace",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true,
+ "Time 7": true
+ },
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Time 6": 5,
+ "Time 7": 6,
+ "Value #A": 8,
+ "Value #B": 9,
+ "Value #C": 10,
+ "Value #D": 11,
+ "Value #E": 12,
+ "Value #F": 13,
+ "Value #G": 14,
+ "namespace": 7
+ },
+ "renameByName": {
+ "Value #A": "Pods",
+ "Value #B": "Workloads",
+ "Value #C": "Memory Usage",
+ "Value #D": "Memory Requests",
+ "Value #E": "Memory Requests %",
+ "Value #F": "Memory Limits",
+ "Value #G": "Memory Limits %",
+ "namespace": "Namespace"
+ }
+ }
+ }
+ ],
+ "type": "table"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Bandwidth/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "Bps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Packets/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "pps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Namespace"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down to pods",
+ "url": "/d/85a562078cdf77779eaa1add43ccec1e/k8s-resources-namespace?${datasource:queryparam}&var-cluster=$cluster&var-namespace=${__data.fields.Namespace}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 30
+ },
+ "id": 11,
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 11,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
- },
- {
- "alias": "Current Receive Bandwidth",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Current Transmit Bandwidth",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Rate of Received Packets",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Transmitted Packets",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Received Packets Dropped",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Transmitted Packets Dropped",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #F",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Namespace",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down to pods",
- "linkUrl": "/d/85a562078cdf77779eaa1add43ccec1e/k8s-resources-namespace?var-datasource=$datasource&var-cluster=$cluster&var-namespace=$__cell",
- "pattern": "namespace",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
- }
- ],
- "targets": [
- {
- "expr": "sum(irate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "sum(irate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "sum(irate(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "sum(irate(container_network_transmit_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "sum(irate(container_network_receive_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- },
- {
- "expr": "sum(irate(container_network_transmit_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "F"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Current Network Usage",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "expr": "sum(rate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "sum(rate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum(rate(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_receive_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "Current Network Usage",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
+ "transformations": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 12,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{namespace}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Receive Bandwidth",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "id": "joinByField",
+ "options": {
+ "byField": "namespace",
+ "mode": "outer"
+ }
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 13,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{namespace}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Transmit Bandwidth",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true
},
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Time 6": 5,
+ "Value #A": 7,
+ "Value #B": 8,
+ "Value #C": 9,
+ "Value #D": 10,
+ "Value #E": 11,
+ "Value #F": 12,
+ "namespace": 6
+ },
+ "renameByName": {
+ "Value #A": "Current Receive Bandwidth",
+ "Value #B": "Current Transmit Bandwidth",
+ "Value #C": "Rate of Received Packets",
+ "Value #D": "Rate of Transmitted Packets",
+ "Value #E": "Rate of Received Packets Dropped",
+ "Value #F": "Rate of Transmitted Packets Dropped",
+ "namespace": "Namespace"
}
- ]
+ }
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Bandwidth",
- "titleSize": "h6"
+ "type": "table"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 14,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "avg(irate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{namespace}}",
- "legendLink": null
- }
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 36
+ },
+ "id": 12,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Average Container Bandwidth by Namespace: Received",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "sum(rate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Receive Bandwidth",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "yaxes": [
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 42
+ },
+ "id": 13,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Transmit Bandwidth",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 48
+ },
+ "id": 14,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "avg(irate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Average Container Bandwidth by Namespace: Received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 54
+ },
+ "id": 15,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "avg(irate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Average Container Bandwidth by Namespace: Transmitted",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 60
+ },
+ "id": 16,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(irate(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Received Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 66
+ },
+ "id": 17,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(irate(container_network_transmit_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Transmitted Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 72
+ },
+ "id": 18,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(irate(container_network_receive_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Received Packets Dropped",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 78
+ },
+ "id": 19,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(irate(container_network_transmit_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Transmitted Packets Dropped",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "iops"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 84
+ },
+ "id": 20,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "ceil(sum by(namespace) (rate(container_fs_reads_total{job=\"cadvisor\", container!=\"\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]) + rate(container_fs_writes_total{job=\"cadvisor\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval])))",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "IOPS(Reads+Writes)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 90
+ },
+ "id": 21,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(namespace) (rate(container_fs_reads_bytes_total{job=\"cadvisor\", container!=\"\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]) + rate(container_fs_writes_bytes_total{job=\"cadvisor\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "ThroughPut(Read+Write)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/IOPS/"
},
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "properties": [
+ {
+ "id": "unit",
+ "value": "iops"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Throughput/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "Bps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Namespace"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down to pods",
+ "url": "/d/85a562078cdf77779eaa1add43ccec1e/k8s-resources-namespace?${datasource:queryparam}&var-cluster=$cluster&var-namespace=${__data.fields.Namespace}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 96
+ },
+ "id": 22,
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(namespace) (rate(container_fs_reads_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))",
+ "format": "table",
+ "instant": true
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 15,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "avg(irate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{namespace}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Average Container Bandwidth by Namespace: Transmitted",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Average Container Bandwidth by Namespace",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 16,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{namespace}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum by(namespace) (rate(container_fs_writes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))",
+ "format": "table",
+ "instant": true
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 17,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_transmit_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{namespace}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Rate of Packets",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 18,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_receive_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{namespace}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets Dropped",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum by(namespace) (rate(container_fs_reads_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]) + rate(container_fs_writes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))",
+ "format": "table",
+ "instant": true
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 19,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_transmit_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=~\".+\"}[$__rate_interval])) by (namespace)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{namespace}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets Dropped",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Rate of Packets Dropped",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "decimals": -1,
- "fill": 10,
- "id": 20,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "ceil(sum by(namespace) (rate(container_fs_reads_total{job=\"cadvisor\", container!=\"\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]) + rate(container_fs_writes_total{job=\"cadvisor\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval])))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{namespace}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "IOPS(Reads+Writes)",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum by(namespace) (rate(container_fs_reads_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))",
+ "format": "table",
+ "instant": true
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 21,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum by(namespace) (rate(container_fs_reads_bytes_total{job=\"cadvisor\", container!=\"\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]) + rate(container_fs_writes_bytes_total{job=\"cadvisor\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{namespace}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "ThroughPut(Read+Write)",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Storage IO",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
+ "expr": "sum by(namespace) (rate(container_fs_writes_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))",
+ "format": "table",
+ "instant": true
+ },
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 22,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "sort": {
- "col": 4,
- "desc": true
- },
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
- },
- {
- "alias": "IOPS(Reads)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": -1,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "IOPS(Writes)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": -1,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "IOPS(Reads + Writes)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": -1,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "Throughput(Read)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Throughput(Write)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Throughput(Read + Write)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #F",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Namespace",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down to pods",
- "linkUrl": "/d/85a562078cdf77779eaa1add43ccec1e/k8s-resources-namespace?var-datasource=$datasource&var-cluster=$cluster&var-namespace=$__cell",
- "pattern": "namespace",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
- }
- ],
- "targets": [
- {
- "expr": "sum by(namespace) (rate(container_fs_reads_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "sum by(namespace) (rate(container_fs_writes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "sum by(namespace) (rate(container_fs_reads_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]) + rate(container_fs_writes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "sum by(namespace) (rate(container_fs_reads_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "sum by(namespace) (rate(container_fs_writes_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- },
- {
- "expr": "sum by(namespace) (rate(container_fs_reads_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]) + rate(container_fs_writes_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "F"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Current Storage IO",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum by(namespace) (rate(container_fs_reads_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]) + rate(container_fs_writes_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace!=\"\"}[$__rate_interval]))",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Storage IO - Distribution",
- "titleSize": "h6"
+ "title": "Current Storage IO",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "namespace",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true
+ },
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Time 6": 5,
+ "Value #A": 7,
+ "Value #B": 8,
+ "Value #C": 9,
+ "Value #D": 10,
+ "Value #E": 11,
+ "Value #F": 12,
+ "namespace": 6
+ },
+ "renameByName": {
+ "Value #A": "IOPS(Reads)",
+ "Value #B": "IOPS(Writes)",
+ "Value #C": "IOPS(Reads + Writes)",
+ "Value #D": "Throughput(Read)",
+ "Value #E": "Throughput(Write)",
+ "Value #F": "Throughput(Read + Write)",
+ "namespace": "Namespace"
+ }
+ }
+ }
+ ],
+ "type": "table"
}
],
- "schemaVersion": 14,
- "style": "dark",
+ "refresh": "10s",
+ "schemaVersion": 36,
"tags": [
"kubernetes-mixin"
],
@@ -2600,40 +1526,29 @@
"list": [
{
"current": {
+ "selected": true,
"text": "default",
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
- "options": [ ],
"query": "prometheus",
- "refresh": 1,
"regex": "",
"type": "datasource"
},
{
- "allValue": null,
- "current": {
- "text": "",
- "value": ""
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
"hide": 2,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "cluster",
"name": "cluster",
- "options": [ ],
"query": "label_values(up{job=\"cadvisor\"}, cluster)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
}
]
},
@@ -2641,33 +1556,7 @@
"from": "now-1h",
"to": "now"
},
- "timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
- },
"timezone": "UTC",
"title": "Kubernetes / Compute Resources / Cluster",
- "uid": "efa86fd1d0c121a26444b636a3f509a8",
- "version": 0
+ "uid": "efa86fd1d0c121a26444b636a3f509a8"
}
diff --git a/assets/kubernetes/dashboards/k8s-resources-namespace.json b/assets/kubernetes/dashboards/k8s-resources-namespace.json
index f6bcda5..4ebf68d 100644
--- a/assets/kubernetes/dashboards/k8s-resources-namespace.json
+++ b/assets/kubernetes/dashboards/k8s-resources-namespace.json
@@ -1,2323 +1,1442 @@
{
- "annotations": {
- "list": [ ]
- },
- "editable": true,
- "gnetId": null,
- "graphTooltip": 0,
- "hideControls": false,
- "links": [ ],
- "refresh": "10s",
- "rows": [
+ "editable": false,
+ "panels": [
{
- "collapse": false,
- "height": "100px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "interval": "1m",
+ "options": {
+ "colorMode": "none"
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "format": "percentunit",
- "id": 1,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 3,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}) / sum(kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"})",
- "format": "time_series",
- "instant": true,
- "intervalFactor": 2,
- "refId": "A"
- }
- ],
- "thresholds": "70,80",
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU Utilisation (from requests)",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "singlestat",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "format": "percentunit",
- "id": 2,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 3,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}) / sum(kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"})",
- "format": "time_series",
- "instant": true,
- "intervalFactor": 2,
- "refId": "A"
- }
- ],
- "thresholds": "70,80",
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU Utilisation (from limits)",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "singlestat",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "format": "percentunit",
- "id": 3,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 3,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\", image!=\"\"}) / sum(kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"})",
- "format": "time_series",
- "instant": true,
- "intervalFactor": 2,
- "refId": "A"
- }
- ],
- "thresholds": "70,80",
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory Utilisation (from requests)",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "singlestat",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "format": "percentunit",
- "id": 4,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 3,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\", image!=\"\"}) / sum(kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"})",
- "format": "time_series",
- "instant": true,
- "intervalFactor": 2,
- "refId": "A"
- }
- ],
- "thresholds": "70,80",
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory Utilisation (from limits)",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "singlestat",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}) / sum(kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"})",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Headlines",
- "titleSize": "h6"
+ "title": "CPU Utilisation (from requests)",
+ "type": "stat"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 6,
+ "y": 0
+ },
+ "id": 2,
+ "interval": "1m",
+ "options": {
+ "colorMode": "none"
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 5,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [
- {
- "alias": "quota - requests",
- "color": "#F2495C",
- "dashes": true,
- "fill": 0,
- "hiddenSeries": true,
- "hideTooltip": true,
- "legend": true,
- "linewidth": 2,
- "stack": false
- },
- {
- "alias": "quota - limits",
- "color": "#FF9830",
- "dashes": true,
- "fill": 0,
- "hiddenSeries": true,
- "hideTooltip": true,
- "legend": true,
- "linewidth": 2,
- "stack": false
- }
- ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- },
- {
- "expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"requests.cpu\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "quota - requests",
- "legendLink": null
- },
- {
- "expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"limits.cpu\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "quota - limits",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU Usage",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}) / sum(kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"})",
+ "instant": true
+ }
+ ],
+ "title": "CPU Utilisation (from limits)",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "interval": "1m",
+ "options": {
+ "colorMode": "none"
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\", image!=\"\"}) / sum(kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"})",
+ "instant": true
+ }
+ ],
+ "title": "Memory Utilisation (from requests)",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 18,
+ "y": 0
+ },
+ "id": 4,
+ "interval": "1m",
+ "options": {
+ "colorMode": "none"
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\", image!=\"\"}) / sum(kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"})",
+ "instant": true
+ }
+ ],
+ "title": "Memory Utilisation (from limits)",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "B"
+ },
+ "properties": [
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "fill": "dash"
+ }
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 2
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "C"
+ },
+ "properties": [
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "fill": "dash"
+ }
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 2
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 5,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
+ "legendFormat": "__auto"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"requests.cpu\"})",
+ "legendFormat": "quota - requests"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"limits.cpu\"})",
+ "legendFormat": "quota - limits"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "CPU Usage",
- "titleSize": "h6"
+ "type": "timeseries"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/%/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "percentunit"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Pod"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down to pods",
+ "url": "/d/6581e46e4e5c7ba40a07646395ef7b23/k8s-resources-pod?${datasource:queryparam}&var-cluster=$cluster&var-namespace=$namespace&var-pod=${__data.fields.Pod}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 6,
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 6,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
- },
- {
- "alias": "CPU Usage",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Requests",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Requests %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "CPU Limits",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Limits %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "Pod",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "/d/6581e46e4e5c7ba40a07646395ef7b23/k8s-resources-pod?var-datasource=$datasource&var-cluster=$cluster&var-namespace=$namespace&var-pod=$__cell",
- "pattern": "pod",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
- }
- ],
- "targets": [
- {
- "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU Quota",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "CPU Quota",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
+ "transformations": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 7,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [
- {
- "alias": "quota - requests",
- "color": "#F2495C",
- "dashes": true,
- "fill": 0,
- "hiddenSeries": true,
- "hideTooltip": true,
- "legend": true,
- "linewidth": 2,
- "stack": false
+ "id": "joinByField",
+ "options": {
+ "byField": "pod",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true
},
- {
- "alias": "quota - limits",
- "color": "#FF9830",
- "dashes": true,
- "fill": 0,
- "hiddenSeries": true,
- "hideTooltip": true,
- "legend": true,
- "linewidth": 2,
- "stack": false
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Value #A": 6,
+ "Value #B": 7,
+ "Value #C": 8,
+ "Value #D": 9,
+ "Value #E": 10,
+ "pod": 5
+ },
+ "renameByName": {
+ "Value #A": "CPU Usage",
+ "Value #B": "CPU Requests",
+ "Value #C": "CPU Requests %",
+ "Value #D": "CPU Limits",
+ "Value #E": "CPU Limits %",
+ "pod": "Pod"
}
- ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", container!=\"\", image!=\"\"}) by (pod)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- },
- {
- "expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"requests.memory\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "quota - requests",
- "legendLink": null
- },
- {
- "expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"limits.memory\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "quota - limits",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory Usage (w/o cache)",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ }
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Memory Usage",
- "titleSize": "h6"
+ "type": "table"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "B"
+ },
+ "properties": [
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "fill": "dash"
+ }
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 2
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "C"
+ },
+ "properties": [
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "fill": "dash"
+ }
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 2
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 21
+ },
+ "id": 7,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 8,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
- },
- {
- "alias": "Memory Usage",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Requests",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Requests %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "Memory Limits",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Limits %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "Memory Usage (RSS)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #F",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Usage (Cache)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #G",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Usage (Swap)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #H",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Pod",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "/d/6581e46e4e5c7ba40a07646395ef7b23/k8s-resources-pod?var-datasource=$datasource&var-cluster=$cluster&var-namespace=$namespace&var-pod=$__cell",
- "pattern": "pod",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
- }
- ],
- "targets": [
- {
- "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\", image!=\"\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\", image!=\"\"}) by (pod) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\", image!=\"\"}) by (pod) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- },
- {
- "expr": "sum(container_memory_rss{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "F"
- },
- {
- "expr": "sum(container_memory_cache{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "G"
- },
- {
- "expr": "sum(container_memory_swap{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "H"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory Quota",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", container!=\"\", image!=\"\"}) by (pod)",
+ "legendFormat": "__auto"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"requests.memory\"})",
+ "legendFormat": "quota - requests"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"limits.memory\"})",
+ "legendFormat": "quota - limits"
+ }
+ ],
+ "title": "Memory Usage (w/o cache)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/%/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "percentunit"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Pod"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down to pods",
+ "url": "/d/6581e46e4e5c7ba40a07646395ef7b23/k8s-resources-pod?${datasource:queryparam}&var-cluster=$cluster&var-namespace=$namespace&var-pod=${__data.fields.Pod}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 8,
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\", image!=\"\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\", image!=\"\"}) by (pod) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\", image!=\"\"}) by (pod) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(container_memory_rss{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(container_memory_cache{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(container_memory_swap{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\",container!=\"\"}) by (pod)",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "Memory Quota",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
+ "transformations": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 9,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
+ "id": "joinByField",
+ "options": {
+ "byField": "pod",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true,
+ "Time 7": true,
+ "Time 8": true
},
- {
- "alias": "Current Receive Bandwidth",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Time 6": 5,
+ "Time 7": 6,
+ "Time 8": 7,
+ "Value #A": 9,
+ "Value #B": 10,
+ "Value #C": 11,
+ "Value #D": 12,
+ "Value #E": 13,
+ "Value #F": 14,
+ "Value #G": 15,
+ "Value #H": 16,
+ "pod": 8
},
- {
- "alias": "Current Transmit Bandwidth",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Rate of Received Packets",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Transmitted Packets",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Received Packets Dropped",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Transmitted Packets Dropped",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #F",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Pod",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down to pods",
- "linkUrl": "/d/6581e46e4e5c7ba40a07646395ef7b23/k8s-resources-pod?var-datasource=$datasource&var-cluster=$cluster&var-namespace=$namespace&var-pod=$__cell",
- "pattern": "pod",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
+ "renameByName": {
+ "Value #A": "Memory Usage",
+ "Value #B": "Memory Requests",
+ "Value #C": "Memory Requests %",
+ "Value #D": "Memory Limits",
+ "Value #E": "Memory Limits %",
+ "Value #F": "Memory Usage (RSS)",
+ "Value #G": "Memory Usage (Cache)",
+ "Value #H": "Memory Usage (Swap)",
+ "pod": "Pod"
}
- ],
- "targets": [
- {
- "expr": "sum(irate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "sum(irate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "sum(irate(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "sum(irate(container_network_transmit_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "sum(irate(container_network_receive_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- },
- {
- "expr": "sum(irate(container_network_transmit_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "F"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Current Network Usage",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Bandwidth/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "Bps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Packets/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "pps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Pod"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down to pods",
+ "url": "/d/6581e46e4e5c7ba40a07646395ef7b23/k8s-resources-pod?${datasource:queryparam}&var-cluster=$cluster&var-namespace=$namespace&var-pod=${__data.fields.Pod}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 35
+ },
+ "id": 9,
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_receive_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "Current Network Usage",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
+ "transformations": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 10,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_receive_bytes_total{cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Receive Bandwidth",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "id": "joinByField",
+ "options": {
+ "byField": "pod",
+ "mode": "outer"
+ }
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 11,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_transmit_bytes_total{cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Transmit Bandwidth",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true
},
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Time 6": 5,
+ "Value #A": 7,
+ "Value #B": 8,
+ "Value #C": 9,
+ "Value #D": 10,
+ "Value #E": 11,
+ "Value #F": 12,
+ "pod": 6
+ },
+ "renameByName": {
+ "Value #A": "Current Receive Bandwidth",
+ "Value #B": "Current Transmit Bandwidth",
+ "Value #C": "Rate of Received Packets",
+ "Value #D": "Rate of Transmitted Packets",
+ "Value #E": "Rate of Received Packets Dropped",
+ "Value #F": "Rate of Transmitted Packets Dropped",
+ "pod": "Pod"
}
- ]
+ }
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Bandwidth",
- "titleSize": "h6"
+ "type": "table"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 12,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_receive_packets_total{cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 42
+ },
+ "id": 10,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Receive Bandwidth",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 42
+ },
+ "id": 11,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Transmit Bandwidth",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 49
+ },
+ "id": 12,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(irate(container_network_receive_packets_total{cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Received Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 49
+ },
+ "id": 13,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(irate(container_network_transmit_packets_total{cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Transmitted Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 56
+ },
+ "id": 14,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(irate(container_network_receive_packets_dropped_total{cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Received Packets Dropped",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 56
+ },
+ "id": 15,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(irate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Transmitted Packets Dropped",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "iops"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 63
+ },
+ "id": 16,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "ceil(sum by(pod) (rate(container_fs_reads_total{container!=\"\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]) + rate(container_fs_writes_total{container!=\"\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])))",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "IOPS(Reads+Writes)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 63
+ },
+ "id": 17,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(pod) (rate(container_fs_reads_bytes_total{container!=\"\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]) + rate(container_fs_writes_bytes_total{container!=\"\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "ThroughPut(Read+Write)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/IOPS/"
},
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "properties": [
+ {
+ "id": "unit",
+ "value": "iops"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Throughput/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "Bps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Pod"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down to pods",
+ "url": "/d/6581e46e4e5c7ba40a07646395ef7b23/k8s-resources-pod?${datasource:queryparam}&var-cluster=$cluster&var-namespace=$namespace&var-pod=${__data.fields.Pod}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 70
+ },
+ "id": 18,
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(pod) (rate(container_fs_reads_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]))",
+ "format": "table",
+ "instant": true
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 13,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_transmit_packets_total{cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Rate of Packets",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 14,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_receive_packets_dropped_total{cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets Dropped",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum by(pod) (rate(container_fs_writes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]))",
+ "format": "table",
+ "instant": true
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 15,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])) by (pod)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets Dropped",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Rate of Packets Dropped",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "decimals": -1,
- "fill": 10,
- "id": 16,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "ceil(sum by(pod) (rate(container_fs_reads_total{container!=\"\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]) + rate(container_fs_writes_total{container!=\"\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "IOPS(Reads+Writes)",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum by(pod) (rate(container_fs_reads_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]) + rate(container_fs_writes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]))",
+ "format": "table",
+ "instant": true
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 17,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum by(pod) (rate(container_fs_reads_bytes_total{container!=\"\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]) + rate(container_fs_writes_bytes_total{container!=\"\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "ThroughPut(Read+Write)",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Storage IO",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
+ "expr": "sum by(pod) (rate(container_fs_reads_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]))",
+ "format": "table",
+ "instant": true
+ },
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 18,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "sort": {
- "col": 4,
- "desc": true
+ "expr": "sum by(pod) (rate(container_fs_writes_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]))",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
- },
- {
- "alias": "IOPS(Reads)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": -1,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "IOPS(Writes)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": -1,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "IOPS(Reads + Writes)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": -1,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "Throughput(Read)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Throughput(Write)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Throughput(Read + Write)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #F",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Pod",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down to pods",
- "linkUrl": "/d/6581e46e4e5c7ba40a07646395ef7b23/k8s-resources-pod?var-datasource=$datasource&var-cluster=$cluster&var-namespace=$namespace&var-pod=$__cell",
- "pattern": "pod",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
- }
- ],
- "targets": [
- {
- "expr": "sum by(pod) (rate(container_fs_reads_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]))",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "sum by(pod) (rate(container_fs_writes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]))",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "sum by(pod) (rate(container_fs_reads_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]) + rate(container_fs_writes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]))",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "sum by(pod) (rate(container_fs_reads_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]))",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "sum by(pod) (rate(container_fs_writes_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]))",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- },
- {
- "expr": "sum by(pod) (rate(container_fs_reads_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]) + rate(container_fs_writes_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]))",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "F"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Current Storage IO",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum by(pod) (rate(container_fs_reads_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]) + rate(container_fs_writes_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval]))",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Storage IO - Distribution",
- "titleSize": "h6"
+ "title": "Current Storage IO",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "pod",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true
+ },
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Time 6": 5,
+ "Value #A": 7,
+ "Value #B": 8,
+ "Value #C": 9,
+ "Value #D": 10,
+ "Value #E": 11,
+ "Value #F": 12,
+ "pod": 6
+ },
+ "renameByName": {
+ "Value #A": "IOPS(Reads)",
+ "Value #B": "IOPS(Writes)",
+ "Value #C": "IOPS(Reads + Writes)",
+ "Value #D": "Throughput(Read)",
+ "Value #E": "Throughput(Write)",
+ "Value #F": "Throughput(Read + Write)",
+ "pod": "Pod"
+ }
+ }
+ }
+ ],
+ "type": "table"
}
],
- "schemaVersion": 14,
- "style": "dark",
+ "refresh": "10s",
+ "schemaVersion": 36,
"tags": [
"kubernetes-mixin"
],
@@ -2325,63 +1444,42 @@
"list": [
{
"current": {
+ "selected": true,
"text": "default",
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
- "options": [ ],
"query": "prometheus",
- "refresh": 1,
"regex": "",
"type": "datasource"
},
{
- "allValue": null,
- "current": {
- "text": "",
- "value": ""
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
"hide": 2,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "cluster",
"name": "cluster",
- "options": [ ],
"query": "label_values(up{job=\"kube-state-metrics\"}, cluster)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "current": {
- "text": "",
- "value": ""
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
"hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "namespace",
"name": "namespace",
- "options": [ ],
"query": "label_values(kube_namespace_status_phase{job=\"kube-state-metrics\", cluster=\"$cluster\"}, namespace)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
}
]
},
@@ -2389,33 +1487,7 @@
"from": "now-1h",
"to": "now"
},
- "timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
- },
"timezone": "UTC",
"title": "Kubernetes / Compute Resources / Namespace (Pods)",
- "uid": "85a562078cdf77779eaa1add43ccec1e",
- "version": 0
+ "uid": "85a562078cdf77779eaa1add43ccec1e"
}
diff --git a/assets/kubernetes/dashboards/k8s-resources-node.json b/assets/kubernetes/dashboards/k8s-resources-node.json
index 49c7e74..e4669c2 100644
--- a/assets/kubernetes/dashboards/k8s-resources-node.json
+++ b/assets/kubernetes/dashboards/k8s-resources-node.json
@@ -1,770 +1,502 @@
{
- "annotations": {
- "list": [ ]
- },
- "editable": true,
- "gnetId": null,
- "graphTooltip": 0,
- "hideControls": false,
- "links": [ ],
- "refresh": "10s",
- "rows": [
+ "editable": false,
+ "panels": [
{
- "collapse": false,
- "height": "250px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "mode": "normal"
+ }
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max capacity"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.stacking",
+ "value": {
+ "mode": "none"
+ }
+ },
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": false,
+ "tooltip": true,
+ "viz": false
+ }
+ },
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "dash": [
+ 10,
+ 10
+ ],
+ "fill": "dash"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 1,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [
- {
- "alias": "max capacity",
- "color": "#F2495C",
- "dashes": true,
- "fill": 0,
- "hiddenSeries": true,
- "hideTooltip": true,
- "legend": true,
- "linewidth": 2,
- "stack": false
- }
- ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(kube_node_status_capacity{cluster=\"$cluster\", node=~\"$node\", resource=\"cpu\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "max capacity",
- "legendLink": null
- },
- {
- "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU Usage",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "expr": "sum(kube_node_status_capacity{cluster=\"$cluster\", node=~\"$node\", resource=\"cpu\"})",
+ "legendFormat": "max capacity"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
+ "legendFormat": "{{pod}}"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "CPU Usage",
- "titleSize": "h6"
+ "type": "timeseries"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/%/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "percentunit"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Pod"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down to pods",
+ "url": "/d/6581e46e4e5c7ba40a07646395ef7b23/k8s-resources-pod?${datasource:queryparam}&var-cluster=$cluster&var-namespace=$namespace&var-pod=${__data.fields.Pod}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 6
+ },
+ "id": 2,
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 2,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
- },
- {
- "alias": "CPU Usage",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Requests",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Requests %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "CPU Limits",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Limits %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "Pod",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "pod",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
- }
- ],
- "targets": [
- {
- "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", node=~\"$node\"}) by (pod) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", node=~\"$node\"}) by (pod) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU Quota",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", node=~\"$node\"}) by (pod) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", node=~\"$node\"}) by (pod) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "CPU Quota",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
+ "transformations": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 3,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [
- {
- "alias": "max capacity",
- "color": "#F2495C",
- "dashes": true,
- "fill": 0,
- "hiddenSeries": true,
- "hideTooltip": true,
- "legend": true,
- "linewidth": 2,
- "stack": false
- }
- ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(kube_node_status_capacity{cluster=\"$cluster\", node=~\"$node\", resource=\"memory\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "max capacity",
- "legendLink": null
+ "id": "joinByField",
+ "options": {
+ "byField": "pod",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true
},
- {
- "expr": "sum(node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\", node=~\"$node\", container!=\"\"}) by (pod)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
+ "renameByName": {
+ "Value #A": "CPU Usage",
+ "Value #B": "CPU Requests",
+ "Value #C": "CPU Requests %",
+ "Value #D": "CPU Limits",
+ "Value #E": "CPU Limits %",
+ "pod": "Pod"
}
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory Usage (w/o cache)",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ }
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Memory Usage",
- "titleSize": "h6"
+ "type": "table"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "mode": "normal"
+ }
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max capacity"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.stacking",
+ "value": {
+ "mode": "none"
+ }
+ },
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": false,
+ "tooltip": true,
+ "viz": false
+ }
+ },
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "dash": [
+ 10,
+ 10
+ ],
+ "fill": "dash"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 12
+ },
+ "id": 3,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 4,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
- },
- {
- "alias": "Memory Usage",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Requests",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Requests %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "Memory Limits",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Limits %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "Memory Usage (RSS)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #F",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Usage (Cache)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #G",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Usage (Swap)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #H",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Pod",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "pod",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
- }
- ],
- "targets": [
- {
- "expr": "sum(node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "sum(node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "sum(node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- },
- {
- "expr": "sum(node_namespace_pod_container:container_memory_rss{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "F"
- },
- {
- "expr": "sum(node_namespace_pod_container:container_memory_cache{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "G"
- },
- {
- "expr": "sum(node_namespace_pod_container:container_memory_swap{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "H"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory Quota",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "expr": "sum(kube_node_status_capacity{cluster=\"$cluster\", node=~\"$node\", resource=\"memory\"})",
+ "legendFormat": "max capacity"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum(node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\", node=~\"$node\", container!=\"\"}) by (pod)",
+ "legendFormat": "{{pod}}"
+ }
+ ],
+ "title": "Memory Usage (w/o cache)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/%/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "percentunit"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Pod"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down to pods",
+ "url": "/d/6581e46e4e5c7ba40a07646395ef7b23/k8s-resources-pod?${datasource:queryparam}&var-cluster=$cluster&var-namespace=$namespace&var-pod=${__data.fields.Pod}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 18
+ },
+ "id": 4,
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(node_namespace_pod_container:container_memory_working_set_bytes{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", node=~\"$node\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(node_namespace_pod_container:container_memory_rss{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(node_namespace_pod_container:container_memory_cache{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(node_namespace_pod_container:container_memory_swap{cluster=\"$cluster\", node=~\"$node\",container!=\"\"}) by (pod)",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "Memory Quota",
- "titleSize": "h6"
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "pod",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true,
+ "Time 7": true,
+ "Time 8": true
+ },
+ "renameByName": {
+ "Value #A": "Memory Usage",
+ "Value #B": "Memory Requests",
+ "Value #C": "Memory Requests %",
+ "Value #D": "Memory Limits",
+ "Value #E": "Memory Limits %",
+ "Value #F": "Memory Usage (RSS)",
+ "Value #G": "Memory Usage (Cache)",
+ "Value #H": "Memory Usage (Swap)",
+ "pod": "Pod"
+ }
+ }
+ }
+ ],
+ "type": "table"
}
],
- "schemaVersion": 14,
- "style": "dark",
+ "refresh": "10s",
+ "schemaVersion": 36,
"tags": [
"kubernetes-mixin"
],
@@ -772,63 +504,42 @@
"list": [
{
"current": {
+ "selected": true,
"text": "default",
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
- "options": [ ],
"query": "prometheus",
- "refresh": 1,
"regex": "",
"type": "datasource"
},
{
- "allValue": null,
- "current": {
- "text": "",
- "value": ""
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
"hide": 2,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "cluster",
"name": "cluster",
- "options": [ ],
"query": "label_values(up{job=\"kube-state-metrics\"}, cluster)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "current": {
- "text": "",
- "value": ""
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
"hide": 0,
- "includeAll": false,
- "label": null,
+ "label": "node",
"multi": true,
"name": "node",
- "options": [ ],
"query": "label_values(kube_node_info{cluster=\"$cluster\"}, node)",
"refresh": 2,
- "regex": "",
- "sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
}
]
},
@@ -836,33 +547,7 @@
"from": "now-1h",
"to": "now"
},
- "timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
- },
"timezone": "UTC",
"title": "Kubernetes / Compute Resources / Node (Pods)",
- "uid": "200ac8fdbfbb74b39aff88118e4d1c2c",
- "version": 0
+ "uid": "200ac8fdbfbb74b39aff88118e4d1c2c"
}
diff --git a/assets/kubernetes/dashboards/k8s-resources-pod.json b/assets/kubernetes/dashboards/k8s-resources-pod.json
index 9f5df29..ddf25a2 100644
--- a/assets/kubernetes/dashboards/k8s-resources-pod.json
+++ b/assets/kubernetes/dashboards/k8s-resources-pod.json
@@ -1,2015 +1,1295 @@
{
- "annotations": {
- "list": [ ]
- },
- "editable": true,
- "gnetId": null,
- "graphTooltip": 0,
- "hideControls": false,
- "links": [ ],
- "refresh": "10s",
- "rows": [
+ "editable": false,
+ "panels": [
{
- "collapse": false,
- "height": "250px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "B"
+ },
+ "properties": [
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "fill": "dash"
+ }
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 2
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "C"
+ },
+ "properties": [
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "fill": "dash"
+ }
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 2
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 1,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [
- {
- "alias": "requests",
- "color": "#F2495C",
- "fill": 0,
- "hideTooltip": true,
- "legend": true,
- "linewidth": 2,
- "stack": false
- },
- {
- "alias": "limits",
- "color": "#FF9830",
- "fill": 0,
- "hideTooltip": true,
- "legend": true,
- "linewidth": 2,
- "stack": false
- }
- ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{namespace=\"$namespace\", pod=\"$pod\", cluster=\"$cluster\"}) by (container)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{container}}",
- "legendLink": null
- },
- {
- "expr": "sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", resource=\"cpu\"}\n)\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "requests",
- "legendLink": null
- },
- {
- "expr": "sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", resource=\"cpu\"}\n)\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "limits",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU Usage",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{namespace=\"$namespace\", pod=\"$pod\", cluster=\"$cluster\", container!=\"\"}) by (container)",
+ "legendFormat": "__auto"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", resource=\"cpu\"}\n)\n",
+ "legendFormat": "requests"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", resource=\"cpu\"}\n)\n",
+ "legendFormat": "limits"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "CPU Usage",
- "titleSize": "h6"
+ "type": "timeseries"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 2,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": true,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(increase(container_cpu_cfs_throttled_periods_total{job=\"cadvisor\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\", cluster=\"$cluster\"}[$__rate_interval])) by (container) /sum(increase(container_cpu_cfs_periods_total{job=\"cadvisor\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\", cluster=\"$cluster\"}[$__rate_interval])) by (container)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{container}}",
- "legendLink": null
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "axisColorMode": "thresholds",
+ "axisSoftMax": 1,
+ "axisSoftMin": 0,
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true,
+ "thresholdsStyle": {
+ "mode": "dashed+area"
}
- ],
- "thresholds": [
- {
- "colorMode": "critical",
- "fill": true,
- "line": true,
- "op": "gt",
- "value": 0.25,
- "yaxis": "left"
- }
- ],
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU Throttling",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
},
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "percentunit",
- "label": null,
- "logBase": 1,
- "max": 1,
- "min": 0,
- "show": true
+ "unit": "percentunit"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "A"
},
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "properties": [
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0.25
+ }
+ ]
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "thresholds",
+ "seriesBy": "lastNotNull"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 2,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(increase(container_cpu_cfs_throttled_periods_total{job=\"cadvisor\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\", cluster=\"$cluster\"}[$__rate_interval])) by (container) /sum(increase(container_cpu_cfs_periods_total{job=\"cadvisor\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\", cluster=\"$cluster\"}[$__rate_interval])) by (container)",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "CPU Throttling",
- "titleSize": "h6"
+ "type": "timeseries"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/%/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "percentunit"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 3,
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 3,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
- },
- {
- "alias": "CPU Usage",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Requests",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Requests %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "CPU Limits",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Limits %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "Container",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "container",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
- }
- ],
- "targets": [
- {
- "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU Quota",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\"}) by (container)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\"}) by (container)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\"}) by (container) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\"}) by (container)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\"}) by (container)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\"}) by (container) / sum(cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\"}) by (container)",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "CPU Quota",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
+ "transformations": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 4,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [
- {
- "alias": "requests",
- "color": "#F2495C",
- "dashes": true,
- "fill": 0,
- "hideTooltip": true,
- "legend": true,
- "linewidth": 2,
- "stack": false
+ "id": "joinByField",
+ "options": {
+ "byField": "container",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true
},
- {
- "alias": "limits",
- "color": "#FF9830",
- "dashes": true,
- "fill": 0,
- "hideTooltip": true,
- "legend": true,
- "linewidth": 2,
- "stack": false
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Value #A": 6,
+ "Value #B": 7,
+ "Value #C": 8,
+ "Value #D": 9,
+ "Value #E": 10,
+ "container": 5
+ },
+ "renameByName": {
+ "Value #A": "CPU Usage",
+ "Value #B": "CPU Requests",
+ "Value #C": "CPU Requests %",
+ "Value #D": "CPU Limits",
+ "Value #E": "CPU Limits %",
+ "container": "Container"
}
- ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\", image!=\"\"}) by (container)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{container}}",
- "legendLink": null
- },
- {
- "expr": "sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", resource=\"memory\"}\n)\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "requests",
- "legendLink": null
- },
- {
- "expr": "sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", resource=\"memory\"}\n)\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "limits",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory Usage (WSS)",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ }
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Memory Usage",
- "titleSize": "h6"
+ "type": "table"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "B"
+ },
+ "properties": [
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "fill": "dash"
+ }
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 2
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "C"
+ },
+ "properties": [
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "fill": "dash"
+ }
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 2
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 21
+ },
+ "id": 4,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 5,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
- },
- {
- "alias": "Memory Usage (WSS)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Requests",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Requests %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "Memory Limits",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Limits %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "Memory Usage (RSS)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #F",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Usage (Cache)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #G",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Usage (Swap)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #H",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Container",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "container",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
- }
- ],
- "targets": [
- {
- "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\", image!=\"\"}) by (container)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", image!=\"\"}) by (container) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\", image!=\"\"}) by (container) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- },
- {
- "expr": "sum(container_memory_rss{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container != \"\", container != \"POD\"}) by (container)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "F"
- },
- {
- "expr": "sum(container_memory_cache{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container != \"\", container != \"POD\"}) by (container)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "G"
- },
- {
- "expr": "sum(container_memory_swap{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container != \"\", container != \"POD\"}) by (container)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "H"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory Quota",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\", image!=\"\"}) by (container)",
+ "legendFormat": "__auto"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", resource=\"memory\"}\n)\n",
+ "legendFormat": "requests"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", resource=\"memory\"}\n)\n",
+ "legendFormat": "limits"
+ }
+ ],
+ "title": "Memory Usage (WSS)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/%/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "percentunit"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 5,
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\", image!=\"\"}) by (container)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", image!=\"\"}) by (container) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_requests{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container!=\"\", image!=\"\"}) by (container) / sum(cluster:namespace:pod_memory:active:kube_pod_container_resource_limits{cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}) by (container)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(container_memory_rss{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container != \"\", container != \"POD\"}) by (container)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(container_memory_cache{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container != \"\", container != \"POD\"}) by (container)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(container_memory_swap{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\", container != \"\", container != \"POD\"}) by (container)",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "Memory Quota",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
+ "transformations": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 6,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Receive Bandwidth",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "id": "joinByField",
+ "options": {
+ "byField": "container",
+ "mode": "outer"
+ }
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 7,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Transmit Bandwidth",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true,
+ "Time 7": true,
+ "Time 8": true
},
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Time 6": 5,
+ "Time 7": 6,
+ "Time 8": 7,
+ "Value #A": 9,
+ "Value #B": 10,
+ "Value #C": 11,
+ "Value #D": 12,
+ "Value #E": 13,
+ "Value #F": 14,
+ "Value #G": 15,
+ "Value #H": 16,
+ "container": 8
+ },
+ "renameByName": {
+ "Value #A": "Memory Usage",
+ "Value #B": "Memory Requests",
+ "Value #C": "Memory Requests %",
+ "Value #D": "Memory Limits",
+ "Value #E": "Memory Limits %",
+ "Value #F": "Memory Usage (RSS)",
+ "Value #G": "Memory Usage (Cache)",
+ "Value #H": "Memory Usage (Swap)",
+ "container": "Container"
}
- ]
+ }
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Bandwidth",
- "titleSize": "h6"
+ "type": "table"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 8,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 35
+ },
+ "id": 6,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "sum(irate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Receive Bandwidth",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 35
+ },
+ "id": 7,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Transmit Bandwidth",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 42
+ },
+ "id": 8,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Received Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 42
+ },
+ "id": 9,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Transmitted Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 49
+ },
+ "id": 10,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_receive_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Received Packets Dropped",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 49
+ },
+ "id": 11,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Transmitted Packets Dropped",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "iops"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 56
+ },
+ "id": 12,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "ceil(sum by(pod) (rate(container_fs_reads_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval])))",
+ "legendFormat": "Reads"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 9,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_transmit_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "ceil(sum by(pod) (rate(container_fs_writes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\",namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval])))",
+ "legendFormat": "Writes"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Rate of Packets",
- "titleSize": "h6"
+ "title": "IOPS (Pod)",
+ "type": "timeseries"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 10,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_receive_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 56
+ },
+ "id": 13,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets Dropped",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum by(pod) (rate(container_fs_reads_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))",
+ "legendFormat": "Reads"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 11,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_transmit_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets Dropped",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum by(pod) (rate(container_fs_writes_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))",
+ "legendFormat": "Writes"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Rate of Packets Dropped",
- "titleSize": "h6"
+ "title": "ThroughPut (Pod)",
+ "type": "timeseries"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "decimals": -1,
- "fill": 10,
- "id": 12,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "ceil(sum by(pod) (rate(container_fs_reads_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval])))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "Reads",
- "legendLink": null
- },
- {
- "expr": "ceil(sum by(pod) (rate(container_fs_writes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\",namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval])))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "Writes",
- "legendLink": null
- }
+ "unit": "iops"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 63
+ },
+ "id": 14,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "IOPS",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "ceil(sum by(container) (rate(container_fs_reads_total{job=\"cadvisor\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]) + rate(container_fs_writes_total{job=\"cadvisor\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval])))",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "IOPS (Containers)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 63
+ },
+ "id": 15,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(container) (rate(container_fs_reads_bytes_total{job=\"cadvisor\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]) + rate(container_fs_writes_bytes_total{job=\"cadvisor\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "ThroughPut (Containers)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/IOPS/"
},
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "properties": [
+ {
+ "id": "unit",
+ "value": "iops"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Throughput/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "Bps"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 70
+ },
+ "id": 16,
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(container) (rate(container_fs_reads_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))",
+ "format": "table",
+ "instant": true
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 13,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum by(pod) (rate(container_fs_reads_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "Reads",
- "legendLink": null
- },
- {
- "expr": "sum by(pod) (rate(container_fs_writes_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "Writes",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "ThroughPut",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Storage IO - Distribution(Pod - Read & Writes)",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "decimals": -1,
- "fill": 10,
- "id": 14,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "ceil(sum by(container) (rate(container_fs_reads_total{job=\"cadvisor\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]) + rate(container_fs_writes_total{job=\"cadvisor\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval])))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{container}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "IOPS(Reads+Writes)",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum by(container) (rate(container_fs_writes_total{job=\"cadvisor\",device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))",
+ "format": "table",
+ "instant": true
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 15,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum by(container) (rate(container_fs_reads_bytes_total{job=\"cadvisor\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]) + rate(container_fs_writes_bytes_total{job=\"cadvisor\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{container}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "ThroughPut(Read+Write)",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Storage IO - Distribution(Containers)",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
+ "expr": "sum by(container) (rate(container_fs_reads_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]) + rate(container_fs_writes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))",
+ "format": "table",
+ "instant": true
+ },
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 16,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "sort": {
- "col": 4,
- "desc": true
+ "expr": "sum by(container) (rate(container_fs_reads_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
- },
- {
- "alias": "IOPS(Reads)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": -1,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "IOPS(Writes)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": -1,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "IOPS(Reads + Writes)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": -1,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "Throughput(Read)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Throughput(Write)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Throughput(Read + Write)",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #F",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Container",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "container",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
- }
- ],
- "targets": [
- {
- "expr": "sum by(container) (rate(container_fs_reads_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "sum by(container) (rate(container_fs_writes_total{job=\"cadvisor\",device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "sum by(container) (rate(container_fs_reads_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]) + rate(container_fs_writes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "sum by(container) (rate(container_fs_reads_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "sum by(container) (rate(container_fs_writes_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- },
- {
- "expr": "sum by(container) (rate(container_fs_reads_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]) + rate(container_fs_writes_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "F"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Current Storage IO",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "expr": "sum by(container) (rate(container_fs_writes_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum by(container) (rate(container_fs_reads_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]) + rate(container_fs_writes_bytes_total{job=\"cadvisor\", device=~\"(/dev.+)|mmcblk.p.+|nvme.+|rbd.+|sd.+|vd.+|xvd.+|dm-.+|dasd.+\", container!=\"\", cluster=\"$cluster\", namespace=\"$namespace\", pod=\"$pod\"}[$__rate_interval]))",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Storage IO - Distribution",
- "titleSize": "h6"
+ "title": "Current Storage IO",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "container",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true
+ },
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Time 6": 5,
+ "Value #A": 7,
+ "Value #B": 8,
+ "Value #C": 9,
+ "Value #D": 10,
+ "Value #E": 11,
+ "Value #F": 12,
+ "container": 6
+ },
+ "renameByName": {
+ "Value #A": "IOPS(Reads)",
+ "Value #B": "IOPS(Writes)",
+ "Value #C": "IOPS(Reads + Writes)",
+ "Value #D": "Throughput(Read)",
+ "Value #E": "Throughput(Write)",
+ "Value #F": "Throughput(Read + Write)",
+ "container": "Container"
+ }
+ }
+ }
+ ],
+ "type": "table"
}
],
- "schemaVersion": 14,
- "style": "dark",
+ "refresh": "10s",
+ "schemaVersion": 36,
"tags": [
"kubernetes-mixin"
],
@@ -2017,86 +1297,55 @@
"list": [
{
"current": {
+ "selected": true,
"text": "default",
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
- "options": [ ],
"query": "prometheus",
- "refresh": 1,
"regex": "",
"type": "datasource"
},
{
- "allValue": null,
- "current": {
- "text": "",
- "value": ""
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
"hide": 2,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "cluster",
"name": "cluster",
- "options": [ ],
"query": "label_values(up{job=\"kube-state-metrics\"}, cluster)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "current": {
- "text": "",
- "value": ""
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
"hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "namespace",
"name": "namespace",
- "options": [ ],
"query": "label_values(kube_namespace_status_phase{job=\"kube-state-metrics\", cluster=\"$cluster\"}, namespace)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "current": {
- "text": "",
- "value": ""
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
"hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "pod",
"name": "pod",
- "options": [ ],
"query": "label_values(kube_pod_info{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\"}, pod)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
}
]
},
@@ -2104,33 +1353,7 @@
"from": "now-1h",
"to": "now"
},
- "timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
- },
"timezone": "UTC",
"title": "Kubernetes / Compute Resources / Pod",
- "uid": "6581e46e4e5c7ba40a07646395ef7b23",
- "version": 0
+ "uid": "6581e46e4e5c7ba40a07646395ef7b23"
}
diff --git a/assets/kubernetes/dashboards/k8s-resources-workload.json b/assets/kubernetes/dashboards/k8s-resources-workload.json
index b65cca7..d692fa2 100644
--- a/assets/kubernetes/dashboards/k8s-resources-workload.json
+++ b/assets/kubernetes/dashboards/k8s-resources-workload.json
@@ -1,1591 +1,963 @@
{
- "annotations": {
- "list": [ ]
- },
- "editable": true,
- "gnetId": null,
- "graphTooltip": 0,
- "hideControls": false,
- "links": [ ],
- "refresh": "10s",
- "rows": [
+ "editable": false,
+ "panels": [
{
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 1,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(\n node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=\"$type\"}\n) by (pod)\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ }
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU Usage",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum(\n node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=~\"$type\"}\n) by (pod)\n",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "CPU Usage",
- "titleSize": "h6"
+ "type": "timeseries"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/%/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "percentunit"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Pod"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down to pods",
+ "url": "/d/6581e46e4e5c7ba40a07646395ef7b23/k8s-resources-pod?${datasource:queryparam}&var-cluster=$cluster&var-namespace=$namespace&var-pod=${__data.fields.Pod}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 2,
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 2,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
- },
- {
- "alias": "CPU Usage",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Requests",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Requests %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "CPU Limits",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Limits %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "Pod",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "/d/6581e46e4e5c7ba40a07646395ef7b23/k8s-resources-pod?var-datasource=$datasource&var-cluster=$cluster&var-namespace=$namespace&var-pod=$__cell",
- "pattern": "pod",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
- }
- ],
- "targets": [
- {
- "expr": "sum(\n node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=\"$type\"}\n) by (pod)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=\"$type\"}\n) by (pod)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "sum(\n node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=\"$type\"}\n) by (pod)\n/sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=\"$type\"}\n) by (pod)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=\"$type\"}\n) by (pod)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "sum(\n node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=\"$type\"}\n) by (pod)\n/sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=\"$type\"}\n) by (pod)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU Quota",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "expr": "sum(\n node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=~\"$type\"}\n) by (pod)\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=~\"$type\"}\n) by (pod)\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum(\n node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=~\"$type\"}\n) by (pod)\n/sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=~\"$type\"}\n) by (pod)\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=~\"$type\"}\n) by (pod)\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(\n node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=~\"$type\"}\n) by (pod)\n/sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=~\"$type\"}\n) by (pod)\n",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "CPU Quota",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
+ "transformations": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 3,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(\n container_memory_working_set_bytes{cluster=\"$cluster\", namespace=\"$namespace\", container!=\"\", image!=\"\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=\"$type\"}\n) by (pod)\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory Usage",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
+ "id": "joinByField",
+ "options": {
+ "byField": "pod",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true
},
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Value #A": 6,
+ "Value #B": 7,
+ "Value #C": 8,
+ "Value #D": 9,
+ "Value #E": 10,
+ "pod": 5
+ },
+ "renameByName": {
+ "Value #A": "CPU Usage",
+ "Value #B": "CPU Requests",
+ "Value #C": "CPU Requests %",
+ "Value #D": "CPU Limits",
+ "Value #E": "CPU Limits %",
+ "pod": "Pod"
}
- ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "bytes"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 3,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(\n container_memory_working_set_bytes{cluster=\"$cluster\", namespace=\"$namespace\", container!=\"\", image!=\"\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=~\"$type\"}\n) by (pod)\n",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "Memory Usage",
- "titleSize": "h6"
+ "type": "timeseries"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/%/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "percentunit"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Pod"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down to pods",
+ "url": "/d/6581e46e4e5c7ba40a07646395ef7b23/k8s-resources-pod?${datasource:queryparam}&var-cluster=$cluster&var-namespace=$namespace&var-pod=${__data.fields.Pod}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 21
+ },
+ "id": 4,
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 4,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
- },
- {
- "alias": "Memory Usage",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Requests",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Requests %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "Memory Limits",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Limits %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "Pod",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "/d/6581e46e4e5c7ba40a07646395ef7b23/k8s-resources-pod?var-datasource=$datasource&var-cluster=$cluster&var-namespace=$namespace&var-pod=$__cell",
- "pattern": "pod",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
- }
- ],
- "targets": [
- {
- "expr": "sum(\n container_memory_working_set_bytes{cluster=\"$cluster\", namespace=\"$namespace\", container!=\"\", image!=\"\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=\"$type\"}\n) by (pod)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=\"$type\"}\n) by (pod)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "sum(\n container_memory_working_set_bytes{cluster=\"$cluster\", namespace=\"$namespace\", container!=\"\", image!=\"\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=\"$type\"}\n) by (pod)\n/sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=\"$type\"}\n) by (pod)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=\"$type\"}\n) by (pod)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "sum(\n container_memory_working_set_bytes{cluster=\"$cluster\", namespace=\"$namespace\", container!=\"\", image!=\"\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=\"$type\"}\n) by (pod)\n/sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=\"$type\"}\n) by (pod)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory Quota",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "expr": "sum(\n container_memory_working_set_bytes{cluster=\"$cluster\", namespace=\"$namespace\", container!=\"\", image!=\"\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=~\"$type\"}\n) by (pod)\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=~\"$type\"}\n) by (pod)\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum(\n container_memory_working_set_bytes{cluster=\"$cluster\", namespace=\"$namespace\", container!=\"\", image!=\"\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=~\"$type\"}\n) by (pod)\n/sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=~\"$type\"}\n) by (pod)\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=~\"$type\"}\n) by (pod)\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(\n container_memory_working_set_bytes{cluster=\"$cluster\", namespace=\"$namespace\", container!=\"\", image!=\"\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=~\"$type\"}\n) by (pod)\n/sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=\"$workload\", workload_type=~\"$type\"}\n) by (pod)\n",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "Memory Quota",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
+ "transformations": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 5,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
+ "id": "joinByField",
+ "options": {
+ "byField": "pod",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true
},
- {
- "alias": "Current Receive Bandwidth",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Value #A": 9,
+ "Value #B": 10,
+ "Value #C": 11,
+ "Value #D": 12,
+ "Value #E": 13,
+ "pod": 8
},
- {
- "alias": "Current Transmit Bandwidth",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Rate of Received Packets",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Transmitted Packets",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Received Packets Dropped",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Transmitted Packets Dropped",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #F",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Pod",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "/d/6581e46e4e5c7ba40a07646395ef7b23/k8s-resources-pod?var-datasource=$datasource&var-cluster=$cluster&var-namespace=$namespace&var-pod=$__cell",
- "pattern": "pod",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
+ "renameByName": {
+ "Value #A": "Memory Usage",
+ "Value #B": "Memory Requests",
+ "Value #C": "Memory Requests %",
+ "Value #D": "Memory Limits",
+ "Value #E": "Memory Limits %",
+ "pod": "Pod"
}
- ],
- "targets": [
- {
- "expr": "(sum(irate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "(sum(irate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "(sum(irate(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "(sum(irate(container_network_transmit_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "(sum(irate(container_network_receive_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- },
- {
- "expr": "(sum(irate(container_network_transmit_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "F"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Current Network Usage",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Bandwidth/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "Bps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Packets/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "pps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Pod"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down to pods",
+ "url": "/d/6581e46e4e5c7ba40a07646395ef7b23/k8s-resources-pod?${datasource:queryparam}&var-cluster=$cluster&var-namespace=$namespace&var-pod=${__data.fields.Pod}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 5,
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_transmit_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_receive_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_transmit_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "Current Network Usage",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
+ "transformations": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 6,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "(sum(irate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Receive Bandwidth",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "id": "joinByField",
+ "options": {
+ "byField": "pod",
+ "mode": "outer"
+ }
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 7,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "(sum(irate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Transmit Bandwidth",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true
},
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Time 6": 5,
+ "Value #A": 7,
+ "Value #B": 8,
+ "Value #C": 9,
+ "Value #D": 10,
+ "Value #E": 11,
+ "Value #F": 12,
+ "pod": 6
+ },
+ "renameByName": {
+ "Value #A": "Current Receive Bandwidth",
+ "Value #B": "Current Transmit Bandwidth",
+ "Value #C": "Rate of Received Packets",
+ "Value #D": "Rate of Transmitted Packets",
+ "Value #E": "Rate of Received Packets Dropped",
+ "Value #F": "Rate of Transmitted Packets Dropped",
+ "pod": "Pod"
}
- ]
+ }
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Bandwidth",
- "titleSize": "h6"
+ "type": "table"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 8,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "(avg(irate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 35
+ },
+ "id": 6,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Average Container Bandwidth by Pod: Received",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 9,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "(avg(irate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Average Container Bandwidth by Pod: Transmitted",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "(sum(rate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Average Container Bandwidth by Pod",
- "titleSize": "h6"
+ "title": "Receive Bandwidth",
+ "type": "timeseries"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 10,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "(sum(irate(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 35
+ },
+ "id": 7,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 11,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "(sum(irate(container_network_transmit_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "(sum(rate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Rate of Packets",
- "titleSize": "h6"
+ "title": "Transmit Bandwidth",
+ "type": "timeseries"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 12,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "(sum(irate(container_network_receive_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 42
+ },
+ "id": 8,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets Dropped",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 13,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "(sum(irate(container_network_transmit_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{pod}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets Dropped",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "(avg(rate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Rate of Packets Dropped",
- "titleSize": "h6"
+ "title": "Average Container Bandwidth by Pod: Received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 42
+ },
+ "id": 9,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(avg(rate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Average Container Bandwidth by Pod: Transmitted",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 49
+ },
+ "id": 10,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Received Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 49
+ },
+ "id": 11,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_transmit_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Transmitted Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 56
+ },
+ "id": 12,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_receive_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Received Packets Dropped",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 56
+ },
+ "id": 13,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_transmit_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Transmitted Packets Dropped",
+ "type": "timeseries"
}
],
- "schemaVersion": 14,
- "style": "dark",
+ "refresh": "10s",
+ "schemaVersion": 36,
"tags": [
"kubernetes-mixin"
],
@@ -1593,109 +965,69 @@
"list": [
{
"current": {
+ "selected": true,
"text": "default",
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
- "options": [ ],
"query": "prometheus",
- "refresh": 1,
"regex": "",
"type": "datasource"
},
{
- "allValue": null,
- "current": {
- "text": "",
- "value": ""
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
"hide": 2,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "cluster",
"name": "cluster",
- "options": [ ],
"query": "label_values(up{job=\"kube-state-metrics\"}, cluster)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "current": {
- "text": "",
- "value": ""
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
"hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "namespace",
"name": "namespace",
- "options": [ ],
"query": "label_values(kube_namespace_status_phase{job=\"kube-state-metrics\", cluster=\"$cluster\"}, namespace)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "current": {
- "text": "",
- "value": ""
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
"hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "includeAll": true,
+ "label": "workload_type",
"name": "type",
- "options": [ ],
"query": "label_values(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\"}, workload_type)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "current": {
- "text": "",
- "value": ""
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
"hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "workload",
"name": "workload",
- "options": [ ],
- "query": "label_values(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}, workload)",
+ "query": "label_values(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}, workload)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
}
]
},
@@ -1703,33 +1035,7 @@
"from": "now-1h",
"to": "now"
},
- "timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
- },
"timezone": "UTC",
"title": "Kubernetes / Compute Resources / Workload",
- "uid": "a164a7f0339f99e89cea5cb47e9be617",
- "version": 0
+ "uid": "a164a7f0339f99e89cea5cb47e9be617"
}
diff --git a/assets/kubernetes/dashboards/k8s-resources-workloads-namespace.json b/assets/kubernetes/dashboards/k8s-resources-workloads-namespace.json
index 7da8990..2e4a1e5 100644
--- a/assets/kubernetes/dashboards/k8s-resources-workloads-namespace.json
+++ b/assets/kubernetes/dashboards/k8s-resources-workloads-namespace.json
@@ -1,1756 +1,1173 @@
{
- "annotations": {
- "list": [ ]
- },
- "editable": true,
- "gnetId": null,
- "graphTooltip": 0,
- "hideControls": false,
- "links": [ ],
- "refresh": "10s",
- "rows": [
+ "editable": false,
+ "panels": [
{
- "collapse": false,
- "height": "250px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "B"
+ },
+ "properties": [
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "fill": "dash"
+ }
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 2
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "C"
+ },
+ "properties": [
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "fill": "dash"
+ }
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 2
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 1,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [
- {
- "alias": "quota - requests",
- "color": "#F2495C",
- "dashes": true,
- "fill": 0,
- "hiddenSeries": true,
- "hideTooltip": true,
- "legend": true,
- "linewidth": 2,
- "stack": false
- },
- {
- "alias": "quota - limits",
- "color": "#FF9830",
- "dashes": true,
- "fill": 0,
- "hiddenSeries": true,
- "hideTooltip": true,
- "legend": true,
- "linewidth": 2,
- "stack": false
- }
- ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(\n node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}\n) by (workload, workload_type)\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{workload}} - {{workload_type}}",
- "legendLink": null
- },
- {
- "expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"requests.cpu\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "quota - requests",
- "legendLink": null
- },
- {
- "expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"limits.cpu\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "quota - limits",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU Usage",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "expr": "sum(\n node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}\n) by (workload, workload_type)\n",
+ "legendFormat": "{{workload}} - {{workload_type}}"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"requests.cpu\"})",
+ "legendFormat": "quota - requests"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"limits.cpu\"})",
+ "legendFormat": "quota - limits"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "CPU Usage",
- "titleSize": "h6"
+ "type": "timeseries"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/%/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "percentunit"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Workload"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down to workloads",
+ "url": "/d/a164a7f0339f99e89cea5cb47e9be617/k8s-resources-workload?${datasource:queryparam}&var-cluster=$cluster&var-namespace=$namespace&var-type=${__data.fields.Type}&var-workload=${__data.fields.Workload}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Running Pods"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "none"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 2,
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 2,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
- },
- {
- "alias": "Running Pods",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 0,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Usage",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Requests",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Requests %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "CPU Limits",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "CPU Limits %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #F",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "Workload",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "/d/a164a7f0339f99e89cea5cb47e9be617/k8s-resources-workload?var-datasource=$datasource&var-cluster=$cluster&var-namespace=$namespace&var-workload=$__cell&var-type=$__cell_2",
- "pattern": "workload",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "Workload Type",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "workload_type",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
- }
- ],
- "targets": [
- {
- "expr": "count(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}) by (workload, workload_type)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "sum(\n node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}\n) by (workload, workload_type)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}\n) by (workload, workload_type)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "sum(\n node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}\n) by (workload, workload_type)\n/sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}\n) by (workload, workload_type)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}\n) by (workload, workload_type)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- },
- {
- "expr": "sum(\n node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}\n) by (workload, workload_type)\n/sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}\n) by (workload, workload_type)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "F"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU Quota",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "expr": "count(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}) by (workload, workload_type)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "sum(\n node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}\n) by (workload, workload_type)\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}\n) by (workload, workload_type)\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(\n node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}\n) by (workload, workload_type)\n/sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}\n) by (workload, workload_type)\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}\n) by (workload, workload_type)\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(\n node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster=\"$cluster\", namespace=\"$namespace\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}\n) by (workload, workload_type)\n/sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"cpu\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}\n) by (workload, workload_type)\n",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "CPU Quota",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
+ "transformations": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 3,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [
- {
- "alias": "quota - requests",
- "color": "#F2495C",
- "dashes": true,
- "fill": 0,
- "hiddenSeries": true,
- "hideTooltip": true,
- "legend": true,
- "linewidth": 2,
- "stack": false
+ "id": "joinByField",
+ "options": {
+ "byField": "workload",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true,
+ "workload_type 2": true,
+ "workload_type 3": true,
+ "workload_type 4": true,
+ "workload_type 5": true,
+ "workload_type 6": true
},
- {
- "alias": "quota - limits",
- "color": "#FF9830",
- "dashes": true,
- "fill": 0,
- "hiddenSeries": true,
- "hideTooltip": true,
- "legend": true,
- "linewidth": 2,
- "stack": false
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Time 6": 5,
+ "Value #A": 8,
+ "Value #B": 9,
+ "Value #C": 10,
+ "Value #D": 11,
+ "Value #E": 12,
+ "Value #F": 13,
+ "workload": 6,
+ "workload_type 1": 7,
+ "workload_type 2": 14,
+ "workload_type 3": 15,
+ "workload_type 4": 16,
+ "workload_type 5": 17,
+ "workload_type 6": 18
+ },
+ "renameByName": {
+ "Value #A": "Running Pods",
+ "Value #B": "CPU Usage",
+ "Value #C": "CPU Requests",
+ "Value #D": "CPU Requests %",
+ "Value #E": "CPU Limits",
+ "Value #F": "CPU Limits %",
+ "workload": "Workload",
+ "workload_type 1": "Type"
}
- ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(\n container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", container!=\"\", image!=\"\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}\n) by (workload, workload_type)\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{workload}} - {{workload_type}}",
- "legendLink": null
- },
- {
- "expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"requests.memory\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "quota - requests",
- "legendLink": null
- },
- {
- "expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"limits.memory\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "quota - limits",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory Usage",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "B"
+ },
+ "properties": [
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "fill": "dash"
+ }
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 2
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "C"
+ },
+ "properties": [
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "fill": "dash"
+ }
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 2
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 3,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(\n container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", container!=\"\", image!=\"\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}\n) by (workload, workload_type)\n",
+ "legendFormat": "{{workload}} - {{workload_type}}"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"requests.memory\"})",
+ "legendFormat": "quota - requests"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "scalar(kube_resourcequota{cluster=\"$cluster\", namespace=\"$namespace\", type=\"hard\",resource=\"limits.memory\"})",
+ "legendFormat": "quota - limits"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "Memory Usage",
- "titleSize": "h6"
+ "type": "timeseries"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/%/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "percentunit"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Workload"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down to workloads",
+ "url": "/d/a164a7f0339f99e89cea5cb47e9be617/k8s-resources-workload?${datasource:queryparam}&var-cluster=$cluster&var-namespace=$namespace&var-type=${__data.fields.Type}&var-workload=${__data.fields.Workload}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Running Pods"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "none"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 21
+ },
+ "id": 4,
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 4,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
- },
- {
- "alias": "Running Pods",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 0,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "Memory Usage",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Requests",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Requests %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "Memory Limits",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "bytes"
- },
- {
- "alias": "Memory Limits %",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #F",
- "thresholds": [ ],
- "type": "number",
- "unit": "percentunit"
- },
- {
- "alias": "Workload",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "/d/a164a7f0339f99e89cea5cb47e9be617/k8s-resources-workload?var-datasource=$datasource&var-cluster=$cluster&var-namespace=$namespace&var-workload=$__cell&var-type=$__cell_2",
- "pattern": "workload",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "Workload Type",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "workload_type",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
- }
- ],
- "targets": [
- {
- "expr": "count(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}) by (workload, workload_type)",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "sum(\n container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", container!=\"\", image!=\"\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}\n) by (workload, workload_type)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}\n) by (workload, workload_type)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "sum(\n container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", container!=\"\", image!=\"\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}\n) by (workload, workload_type)\n/sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}\n) by (workload, workload_type)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}\n) by (workload, workload_type)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- },
- {
- "expr": "sum(\n container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", container!=\"\", image!=\"\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}\n) by (workload, workload_type)\n/sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}\n) by (workload, workload_type)\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "F"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory Quota",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
+ "expr": "count(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}) by (workload, workload_type)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "sum(\n container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", container!=\"\", image!=\"\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}\n) by (workload, workload_type)\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}\n) by (workload, workload_type)\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(\n container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", container!=\"\", image!=\"\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}\n) by (workload, workload_type)\n/sum(\n kube_pod_container_resource_requests{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}\n) by (workload, workload_type)\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}\n) by (workload, workload_type)\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(\n container_memory_working_set_bytes{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", container!=\"\", image!=\"\"}\n * on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}\n) by (workload, workload_type)\n/sum(\n kube_pod_container_resource_limits{job=\"kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", resource=\"memory\"}\n* on(namespace,pod)\n group_left(workload, workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}\n) by (workload, workload_type)\n",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "Memory Quota",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
+ "transformations": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "id": 5,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "styles": [
- {
- "alias": "Time",
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "pattern": "Time",
- "type": "hidden"
+ "id": "joinByField",
+ "options": {
+ "byField": "workload",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true,
+ "workload_type 2": true,
+ "workload_type 3": true,
+ "workload_type 4": true,
+ "workload_type 5": true,
+ "workload_type 6": true
},
- {
- "alias": "Current Receive Bandwidth",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Time 6": 5,
+ "Value #A": 8,
+ "Value #B": 9,
+ "Value #C": 10,
+ "Value #D": 11,
+ "Value #E": 12,
+ "Value #F": 13,
+ "workload": 6,
+ "workload_type 1": 7,
+ "workload_type 2": 14,
+ "workload_type 3": 15,
+ "workload_type 4": 16,
+ "workload_type 5": 17,
+ "workload_type 6": 18
},
- {
- "alias": "Current Transmit Bandwidth",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Rate of Received Packets",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Transmitted Packets",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Received Packets Dropped",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Transmitted Packets Dropped",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #F",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Workload",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down to pods",
- "linkUrl": "/d/a164a7f0339f99e89cea5cb47e9be617/k8s-resources-workload?var-datasource=$datasource&var-cluster=$cluster&var-namespace=$namespace&var-workload=$__cell&var-type=$type",
- "pattern": "workload",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "Workload Type",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTargetBlank": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "workload_type",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- },
- {
- "alias": "",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "pattern": "/.*/",
- "thresholds": [ ],
- "type": "string",
- "unit": "short"
+ "renameByName": {
+ "Value #A": "Running Pods",
+ "Value #B": "Memory Usage",
+ "Value #C": "Memory Requests",
+ "Value #D": "Memory Requests %",
+ "Value #E": "Memory Limits",
+ "Value #F": "Memory Limits %",
+ "workload": "Workload",
+ "workload_type 1": "Type"
}
- ],
- "targets": [
- {
- "expr": "(sum(irate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}) by (workload))\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- },
- {
- "expr": "(sum(irate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}) by (workload))\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B"
- },
- {
- "expr": "(sum(irate(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}) by (workload))\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C"
- },
- {
- "expr": "(sum(irate(container_network_transmit_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}) by (workload))\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D"
- },
- {
- "expr": "(sum(irate(container_network_receive_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}) by (workload))\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E"
- },
- {
- "expr": "(sum(irate(container_network_transmit_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=\"$type\"}) by (workload))\n",
- "format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "F"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Current Network Usage",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "transform": "table",
- "type": "table",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Bandwidth/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "Bps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Packets/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "pps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Workload"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down to workloads",
+ "url": "/d/a164a7f0339f99e89cea5cb47e9be617/k8s-resources-workload?${datasource:queryparam}&var-cluster=$cluster&var-namespace=$namespace&var-type=${__data.fields.Type}&var-workload=${__data.fields.Workload}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 5,
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}) by (workload))\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}) by (workload))\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}) by (workload))\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_transmit_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}) by (workload))\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_receive_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}) by (workload))\n",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_transmit_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload_type=~\"$type\"}) by (workload))\n",
+ "format": "table",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
"title": "Current Network Usage",
- "titleSize": "h6"
- },
- {
- "collapse": false,
- "height": "250px",
- "panels": [
+ "transformations": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 6,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "(sum(irate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{workload}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Receive Bandwidth",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "id": "joinByField",
+ "options": {
+ "byField": "workload",
+ "mode": "outer"
+ }
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 7,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "(sum(irate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{workload}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Transmit Bandwidth",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true
},
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Time 6": 5,
+ "Value #A": 7,
+ "Value #B": 8,
+ "Value #C": 9,
+ "Value #D": 10,
+ "Value #E": 11,
+ "Value #F": 12,
+ "workload": 6
+ },
+ "renameByName": {
+ "Value #A": "Current Receive Bandwidth",
+ "Value #B": "Current Transmit Bandwidth",
+ "Value #C": "Rate of Received Packets",
+ "Value #D": "Rate of Transmitted Packets",
+ "Value #E": "Rate of Received Packets Dropped",
+ "Value #F": "Rate of Transmitted Packets Dropped",
+ "workload": "Workload"
}
- ]
+ }
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Bandwidth",
- "titleSize": "h6"
+ "type": "table"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 8,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "(avg(irate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{workload}}",
- "legendLink": null
- }
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 35
+ },
+ "id": 6,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Average Container Bandwidth by Workload: Received",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 9,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "(avg(irate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{workload}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Average Container Bandwidth by Workload: Transmitted",
- "tooltip": {
- "shared": false,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "(sum(rate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Average Container Bandwidth by Workload",
- "titleSize": "h6"
+ "title": "Receive Bandwidth",
+ "type": "timeseries"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 10,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "(sum(irate(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{workload}}",
- "legendLink": null
- }
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 35
+ },
+ "id": 7,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 11,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "(sum(irate(container_network_transmit_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{workload}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "(sum(rate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Rate of Packets",
- "titleSize": "h6"
+ "title": "Transmit Bandwidth",
+ "type": "timeseries"
},
{
- "collapse": false,
- "height": "250px",
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 12,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "(sum(irate(container_network_receive_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{workload}}",
- "legendLink": null
- }
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 42
+ },
+ "id": 8,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets Dropped",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 10,
- "id": 13,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 0,
- "links": [ ],
- "nullPointMode": "null as zero",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "(sum(irate(container_network_transmit_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{workload}}",
- "legendLink": null
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets Dropped",
- "tooltip": {
- "shared": false,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": false
- }
- ]
+ "expr": "(avg(rate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Rate of Packets Dropped",
- "titleSize": "h6"
+ "title": "Average Container Bandwidth by Workload: Received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 42
+ },
+ "id": 9,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(avg(rate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Average Container Bandwidth by Workload: Transmitted",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 49
+ },
+ "id": 10,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Received Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 49
+ },
+ "id": 11,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_transmit_packets_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Transmitted Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 56
+ },
+ "id": 12,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_receive_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Received Packets Dropped",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 56
+ },
+ "id": 13,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(sum(rate(container_network_transmit_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Transmitted Packets Dropped",
+ "type": "timeseries"
}
],
- "schemaVersion": 14,
- "style": "dark",
+ "refresh": "10s",
+ "schemaVersion": 36,
"tags": [
"kubernetes-mixin"
],
@@ -1758,91 +1175,56 @@
"list": [
{
"current": {
+ "selected": true,
"text": "default",
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
- "options": [ ],
"query": "prometheus",
- "refresh": 1,
"regex": "",
"type": "datasource"
},
{
- "allValue": null,
- "current": {
- "text": "",
- "value": ""
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
"hide": 2,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "cluster",
"name": "cluster",
- "options": [ ],
"query": "label_values(up{job=\"kube-state-metrics\"}, cluster)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "current": {
- "text": "",
- "value": ""
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
"hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "namespace",
"name": "namespace",
- "options": [ ],
- "query": "label_values(kube_pod_info{job=\"kube-state-metrics\", cluster=\"$cluster\"}, namespace)",
+ "query": "label_values(kube_namespace_status_phase{job=\"kube-state-metrics\", cluster=\"$cluster\"}, namespace)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
- "current": {
- "text": "deployment",
- "value": "deployment"
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
- "definition": "label_values(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\"}, workload_type)",
"hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "includeAll": true,
+ "label": "workload_type",
"name": "type",
- "options": [ ],
"query": "label_values(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\"}, workload_type)",
"refresh": 2,
- "regex": "",
- "skipUrlSync": false,
- "sort": 0,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "sort": 1,
+ "type": "query"
}
]
},
@@ -1850,33 +1232,7 @@
"from": "now-1h",
"to": "now"
},
- "timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
- },
"timezone": "UTC",
"title": "Kubernetes / Compute Resources / Namespace (Workloads)",
- "uid": "a87fb0d919ec0ea5f6543124e16c42a5",
- "version": 0
+ "uid": "a87fb0d919ec0ea5f6543124e16c42a5"
}
diff --git a/assets/kubernetes/dashboards/kubelet.json b/assets/kubernetes/dashboards/kubelet.json
index 3af2c52..5eefede 100644
--- a/assets/kubernetes/dashboards/kubelet.json
+++ b/assets/kubernetes/dashboards/kubelet.json
@@ -1,26 +1,13 @@
{
- "__inputs": [ ],
- "__requires": [ ],
- "annotations": {
- "list": [ ]
- },
"editable": false,
- "gnetId": null,
- "graphTooltip": 0,
- "hideControls": false,
- "id": null,
- "links": [ ],
"panels": [
{
- "datasource": "$datasource",
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
"fieldConfig": {
"defaults": {
- "links": [ ],
- "mappings": [ ],
- "thresholds": {
- "mode": "absolute",
- "steps": [ ]
- },
"unit": "none"
}
},
@@ -30,46 +17,32 @@
"x": 0,
"y": 0
},
- "id": 2,
- "links": [ ],
+ "id": 1,
+ "interval": "1m",
"options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "auto"
+ "colorMode": "none"
},
- "pluginVersion": "7",
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "sum(kubelet_node_name{cluster=\"$cluster\", job=\"kubelet\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
+ "instant": true
}
],
"title": "Running Kubelets",
- "transparent": false,
"type": "stat"
},
{
- "datasource": "$datasource",
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
"fieldConfig": {
"defaults": {
- "links": [ ],
- "mappings": [ ],
- "thresholds": {
- "mode": "absolute",
- "steps": [ ]
- },
"unit": "none"
}
},
@@ -79,46 +52,32 @@
"x": 4,
"y": 0
},
- "id": 3,
- "links": [ ],
+ "id": 2,
+ "interval": "1m",
"options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "auto"
+ "colorMode": "none"
},
- "pluginVersion": "7",
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sum(kubelet_running_pods{cluster=\"$cluster\", job=\"kubelet\", instance=~\"$instance\"}) OR sum(kubelet_running_pod_count{cluster=\"$cluster\", job=\"kubelet\", instance=~\"$instance\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kubelet_running_pods{cluster=\"$cluster\", job=\"kubelet\", instance=~\"$instance\"})",
+ "instant": true
}
],
"title": "Running Pods",
- "transparent": false,
"type": "stat"
},
{
- "datasource": "$datasource",
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
"fieldConfig": {
"defaults": {
- "links": [ ],
- "mappings": [ ],
- "thresholds": {
- "mode": "absolute",
- "steps": [ ]
- },
"unit": "none"
}
},
@@ -128,46 +87,32 @@
"x": 8,
"y": 0
},
- "id": 4,
- "links": [ ],
+ "id": 3,
+ "interval": "1m",
"options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "auto"
+ "colorMode": "none"
},
- "pluginVersion": "7",
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sum(kubelet_running_containers{cluster=\"$cluster\", job=\"kubelet\", instance=~\"$instance\"}) OR sum(kubelet_running_container_count{cluster=\"$cluster\", job=\"kubelet\", instance=~\"$instance\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(kubelet_running_containers{cluster=\"$cluster\", job=\"kubelet\", instance=~\"$instance\"})",
+ "instant": true
}
],
"title": "Running Containers",
- "transparent": false,
"type": "stat"
},
{
- "datasource": "$datasource",
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
"fieldConfig": {
"defaults": {
- "links": [ ],
- "mappings": [ ],
- "thresholds": {
- "mode": "absolute",
- "steps": [ ]
- },
"unit": "none"
}
},
@@ -177,46 +122,32 @@
"x": 12,
"y": 0
},
- "id": 5,
- "links": [ ],
+ "id": 4,
+ "interval": "1m",
"options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "auto"
+ "colorMode": "none"
},
- "pluginVersion": "7",
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "sum(volume_manager_total_volumes{cluster=\"$cluster\", job=\"kubelet\", instance=~\"$instance\", state=\"actual_state_of_world\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
+ "instant": true
}
],
"title": "Actual Volume Count",
- "transparent": false,
"type": "stat"
},
{
- "datasource": "$datasource",
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
"fieldConfig": {
"defaults": {
- "links": [ ],
- "mappings": [ ],
- "thresholds": {
- "mode": "absolute",
- "steps": [ ]
- },
"unit": "none"
}
},
@@ -226,46 +157,32 @@
"x": 16,
"y": 0
},
- "id": 6,
- "links": [ ],
+ "id": 5,
+ "interval": "1m",
"options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "auto"
+ "colorMode": "none"
},
- "pluginVersion": "7",
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "sum(volume_manager_total_volumes{cluster=\"$cluster\", job=\"kubelet\", instance=~\"$instance\",state=\"desired_state_of_world\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
+ "instant": true
}
],
"title": "Desired Volume Count",
- "transparent": false,
"type": "stat"
},
{
- "datasource": "$datasource",
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
"fieldConfig": {
"defaults": {
- "links": [ ],
- "mappings": [ ],
- "thresholds": {
- "mode": "absolute",
- "steps": [ ]
- },
"unit": "none"
}
},
@@ -275,1613 +192,986 @@
"x": 20,
"y": 0
},
- "id": 7,
- "links": [ ],
+ "id": 6,
+ "interval": "1m",
"options": {
- "colorMode": "value",
- "graphMode": "area",
- "justifyMode": "auto",
- "orientation": "auto",
- "reduceOptions": {
- "calcs": [
- "lastNotNull"
- ],
- "fields": "",
- "values": false
- },
- "textMode": "auto"
+ "colorMode": "none"
},
- "pluginVersion": "7",
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "sum(rate(kubelet_node_config_error{cluster=\"$cluster\", job=\"kubelet\", instance=~\"$instance\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
+ "instant": true
}
],
"title": "Config Error Count",
- "transparent": false,
"type": "stat"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "ops"
+ }
+ },
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 7
},
- "id": 8,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "id": 7,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "sum(rate(kubelet_runtime_operations_total{cluster=\"$cluster\",job=\"kubelet\",instance=~\"$instance\"}[$__rate_interval])) by (operation_type, instance)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}} {{operation_type}}",
- "refId": "A"
+ "legendFormat": "{{instance}} {{operation_type}}"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Operation Rate",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "ops"
+ }
+ },
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 7
},
- "id": 9,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "id": 8,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "sum(rate(kubelet_runtime_operations_errors_total{cluster=\"$cluster\",job=\"kubelet\",instance=~\"$instance\"}[$__rate_interval])) by (instance, operation_type)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}} {{operation_type}}",
- "refId": "A"
+ "legendFormat": "{{instance}} {{operation_type}}"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Operation Error Rate",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "s"
+ }
+ },
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 14
},
- "id": 10,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "id": 9,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "histogram_quantile(0.99, sum(rate(kubelet_runtime_operations_duration_seconds_bucket{cluster=\"$cluster\",job=\"kubelet\",instance=~\"$instance\"}[$__rate_interval])) by (instance, operation_type, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}} {{operation_type}}",
- "refId": "A"
+ "legendFormat": "{{instance}} {{operation_type}}"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Operation duration 99th quantile",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "title": "Operation Duration 99th quantile",
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "ops"
+ }
+ },
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 21
},
+ "id": 10,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(kubelet_pod_start_duration_seconds_count{cluster=\"$cluster\",job=\"kubelet\",instance=~\"$instance\"}[$__rate_interval])) by (instance)",
+ "legendFormat": "{{instance}} pod"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(kubelet_pod_worker_duration_seconds_count{cluster=\"$cluster\",job=\"kubelet\",instance=~\"$instance\"}[$__rate_interval])) by (instance)",
+ "legendFormat": "{{instance}} worker"
+ }
+ ],
+ "title": "Pod Start Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 21
+ },
"id": 11,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(rate(kubelet_pod_start_duration_seconds_count{cluster=\"$cluster\",job=\"kubelet\",instance=~\"$instance\"}[$__rate_interval])) by (instance)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}} pod",
- "refId": "A"
- },
- {
- "expr": "sum(rate(kubelet_pod_worker_duration_seconds_count{cluster=\"$cluster\",job=\"kubelet\",instance=~\"$instance\"}[$__rate_interval])) by (instance)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}} worker",
- "refId": "B"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Pod Start Rate",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 12,
- "y": 21
- },
- "id": 12,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "histogram_quantile(0.99, sum(rate(kubelet_pod_start_duration_seconds_bucket{cluster=\"$cluster\",job=\"kubelet\",instance=~\"$instance\"}[$__rate_interval])) by (instance, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}} pod",
- "refId": "A"
+ "legendFormat": "{{instance}} pod"
},
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "histogram_quantile(0.99, sum(rate(kubelet_pod_worker_duration_seconds_bucket{cluster=\"$cluster\",job=\"kubelet\",instance=~\"$instance\"}[$__rate_interval])) by (instance, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}} worker",
- "refId": "B"
+ "legendFormat": "{{instance}} worker"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Pod Start Duration",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "ops"
+ }
+ },
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 28
},
- "id": 13,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "id": 12,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "sum(rate(storage_operation_duration_seconds_count{cluster=\"$cluster\",job=\"kubelet\",instance=~\"$instance\"}[$__rate_interval])) by (instance, operation_name, volume_plugin)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}} {{operation_name}} {{volume_plugin}}",
- "refId": "A"
+ "legendFormat": "{{instance}} {{operation_name}} {{volume_plugin}}"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Storage Operation Rate",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "ops"
+ }
+ },
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 28
},
- "id": 14,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "id": 13,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "sum(rate(storage_operation_errors_total{cluster=\"$cluster\",job=\"kubelet\",instance=~\"$instance\"}[$__rate_interval])) by (instance, operation_name, volume_plugin)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}} {{operation_name}} {{volume_plugin}}",
- "refId": "A"
+ "legendFormat": "{{instance}} {{operation_name}} {{volume_plugin}}"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Storage Operation Error Rate",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "s"
+ }
+ },
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 35
},
- "id": 15,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "id": 14,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "histogram_quantile(0.99, sum(rate(storage_operation_duration_seconds_bucket{cluster=\"$cluster\", job=\"kubelet\", instance=~\"$instance\"}[$__rate_interval])) by (instance, operation_name, volume_plugin, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}} {{operation_name}} {{volume_plugin}}",
- "refId": "A"
+ "legendFormat": "{{instance}} {{operation_name}} {{volume_plugin}}"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Storage Operation Duration 99th quantile",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "ops"
+ }
+ },
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 42
},
+ "id": 15,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(kubelet_cgroup_manager_duration_seconds_count{cluster=\"$cluster\", job=\"kubelet\", instance=~\"$instance\"}[$__rate_interval])) by (instance, operation_type)",
+ "legendFormat": "{{operation_type}}"
+ }
+ ],
+ "title": "Cgroup manager operation rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 42
+ },
"id": 16,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(rate(kubelet_cgroup_manager_duration_seconds_count{cluster=\"$cluster\", job=\"kubelet\", instance=~\"$instance\"}[$__rate_interval])) by (instance, operation_type)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{operation_type}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Cgroup manager operation rate",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
+ "tooltip": {
+ "mode": "single"
}
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": {
- "h": 7,
- "w": 12,
- "x": 12,
- "y": 42
},
- "id": 17,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "histogram_quantile(0.99, sum(rate(kubelet_cgroup_manager_duration_seconds_bucket{cluster=\"$cluster\", job=\"kubelet\", instance=~\"$instance\"}[$__rate_interval])) by (instance, operation_type, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}} {{operation_type}}",
- "refId": "A"
+ "legendFormat": "{{instance}} {{operation_type}}"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Cgroup manager 99th quantile",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "description": "Pod lifecycle event generator",
- "fill": 1,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "ops"
+ }
+ },
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 49
},
- "id": 18,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "id": 17,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "sum(rate(kubelet_pleg_relist_duration_seconds_count{cluster=\"$cluster\", job=\"kubelet\", instance=~\"$instance\"}[$__rate_interval])) by (instance)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
+ "legendFormat": "{{instance}}"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "PLEG relist rate",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "s"
+ }
+ },
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 49
},
- "id": 19,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "id": 18,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "histogram_quantile(0.99, sum(rate(kubelet_pleg_relist_interval_seconds_bucket{cluster=\"$cluster\",job=\"kubelet\",instance=~\"$instance\"}[$__rate_interval])) by (instance, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
+ "legendFormat": "{{instance}}"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "PLEG relist interval",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "s"
+ }
+ },
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 56
},
- "id": 20,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "id": 19,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "histogram_quantile(0.99, sum(rate(kubelet_pleg_relist_duration_seconds_bucket{cluster=\"$cluster\",job=\"kubelet\",instance=~\"$instance\"}[$__rate_interval])) by (instance, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
+ "legendFormat": "{{instance}}"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "PLEG relist duration",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "ops"
+ }
+ },
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 63
},
- "id": 21,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "id": 20,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\",job=\"kubelet\", instance=~\"$instance\",code=~\"2..\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "2xx",
- "refId": "A"
+ "legendFormat": "2xx"
},
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\",job=\"kubelet\", instance=~\"$instance\",code=~\"3..\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "3xx",
- "refId": "B"
+ "legendFormat": "3xx"
},
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\",job=\"kubelet\", instance=~\"$instance\",code=~\"4..\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "4xx",
- "refId": "C"
+ "legendFormat": "4xx"
},
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\",job=\"kubelet\", instance=~\"$instance\",code=~\"5..\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "5xx",
- "refId": "D"
+ "legendFormat": "5xx"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "RPC Rate",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "title": "RPC rate",
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "s"
+ }
+ },
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 70
},
- "id": 22,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "id": 21,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "histogram_quantile(0.99, sum(rate(rest_client_request_duration_seconds_bucket{cluster=\"$cluster\",job=\"kubelet\", instance=~\"$instance\"}[$__rate_interval])) by (instance, verb, url, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}} {{verb}} {{url}}",
- "refId": "A"
+ "legendFormat": "{{instance}} {{verb}} {{url}}"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Request duration 99th quantile",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "bytes"
+ }
+ },
"gridPos": {
"h": 7,
"w": 8,
"x": 0,
"y": 77
},
- "id": 23,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "id": 22,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "process_resident_memory_bytes{cluster=\"$cluster\",job=\"kubelet\",instance=~\"$instance\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
+ "legendFormat": "{{instance}}"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Memory",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "short"
+ }
+ },
"gridPos": {
"h": 7,
"w": 8,
"x": 8,
"y": 77
},
- "id": 24,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "id": 23,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "rate(process_cpu_seconds_total{cluster=\"$cluster\",job=\"kubelet\",instance=~\"$instance\"}[$__rate_interval])",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
+ "legendFormat": "{{instance}}"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "CPU usage",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "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
- }
- ]
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "short"
+ }
+ },
"gridPos": {
"h": 7,
"w": 8,
"x": 16,
"y": 77
},
- "id": 25,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "id": 24,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"expr": "go_goroutines{cluster=\"$cluster\",job=\"kubelet\",instance=~\"$instance\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
+ "legendFormat": "{{instance}}"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Goroutines",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "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
- }
- ]
+ "type": "timeseries"
}
],
"refresh": "10s",
- "rows": [ ],
- "schemaVersion": 14,
- "style": "dark",
+ "schemaVersion": 36,
"tags": [
"kubernetes-mixin"
],
@@ -1889,57 +1179,42 @@
"list": [
{
"current": {
+ "selected": true,
"text": "default",
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
- "options": [ ],
"query": "prometheus",
- "refresh": 1,
"regex": "",
"type": "datasource"
},
{
- "allValue": null,
- "current": { },
- "datasource": "$datasource",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 2,
- "includeAll": false,
"label": "cluster",
- "multi": false,
"name": "cluster",
- "options": [ ],
"query": "label_values(up{job=\"kubelet\"}, cluster)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "current": { },
- "datasource": "$datasource",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 0,
"includeAll": true,
"label": "instance",
- "multi": false,
"name": "instance",
- "options": [ ],
"query": "label_values(up{job=\"kubelet\",cluster=\"$cluster\"}, instance)",
"refresh": 2,
- "regex": "",
- "sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
}
]
},
@@ -1947,33 +1222,7 @@
"from": "now-1h",
"to": "now"
},
- "timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
- },
"timezone": "UTC",
"title": "Kubernetes / Kubelet",
- "uid": "3138fa155d5915769fbded898ac09fd9",
- "version": 0
+ "uid": "3138fa155d5915769fbded898ac09fd9"
}
diff --git a/assets/kubernetes/dashboards/namespace-by-pod.json b/assets/kubernetes/dashboards/namespace-by-pod.json
index 2eff0c0..02b6c45 100644
--- a/assets/kubernetes/dashboards/namespace-by-pod.json
+++ b/assets/kubernetes/dashboards/namespace-by-pod.json
@@ -1,1131 +1,555 @@
{
- "__inputs": [ ],
- "__requires": [ ],
- "annotations": {
- "list": [
- {
- "builtIn": 1,
- "datasource": "-- Grafana --",
- "enable": true,
- "hide": true,
- "iconColor": "rgba(0, 211, 255, 1)",
- "name": "Annotations & Alerts",
- "type": "dashboard"
- }
- ]
- },
- "editable": true,
- "gnetId": null,
- "graphTooltip": 0,
- "hideControls": false,
- "id": null,
- "links": [ ],
+ "editable": false,
"panels": [
{
- "collapse": false,
- "collapsed": false,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "displayName": "$namespace",
+ "max": 10000000000,
+ "min": 0,
+ "thresholds": {
+ "steps": [
+ {
+ "color": "dark-green",
+ "index": 0,
+ "value": null
+ },
+ {
+ "color": "dark-yellow",
+ "index": 1,
+ "value": 5000000000
+ },
+ {
+ "color": "dark-red",
+ "index": 2,
+ "value": 7000000000
+ }
+ ]
+ },
+ "unit": "Bps"
+ }
+ },
"gridPos": {
- "h": 1,
- "w": 24,
+ "h": 9,
+ "w": 12,
"x": 0,
"y": 0
},
- "id": 2,
- "panels": [ ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Current Bandwidth",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "#299c46",
- "rgba(237, 129, 40, 0.89)",
- "#d44a3a"
- ],
- "datasource": "$datasource",
- "decimals": 0,
- "format": "time_series",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 1
- },
- "height": 9,
- "id": 3,
- "interval": null,
- "links": [ ],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "minSpan": 12,
- "nullPointMode": "connected",
- "nullText": null,
- "options": {
- "fieldOptions": {
- "calcs": [
- "last"
- ],
- "defaults": {
- "max": 10000000000,
- "min": 0,
- "title": "$namespace",
- "unit": "Bps"
- },
- "mappings": [ ],
- "override": { },
- "thresholds": [
- {
- "color": "dark-green",
- "index": 0,
- "value": null
- },
- {
- "color": "dark-yellow",
- "index": 1,
- "value": 5000000000
- },
- {
- "color": "dark-red",
- "index": 2,
- "value": 7000000000
- }
- ],
- "values": false
- }
- },
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "span": 12,
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
+ "id": 1,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sum(irate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution]))",
- "format": "time_series",
- "instant": null,
- "intervalFactor": 1,
- "legendFormat": "",
- "refId": "A"
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
}
],
- "thresholds": "",
- "timeFrom": null,
- "timeShift": null,
"title": "Current Rate of Bytes Received",
- "type": "gauge",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "current"
+ "type": "gauge"
},
{
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "#299c46",
- "rgba(237, 129, 40, 0.89)",
- "#d44a3a"
- ],
- "datasource": "$datasource",
- "decimals": 0,
- "format": "time_series",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "displayName": "$namespace",
+ "max": 10000000000,
+ "min": 0,
+ "thresholds": {
+ "steps": [
+ {
+ "color": "dark-green",
+ "index": 0,
+ "value": null
+ },
+ {
+ "color": "dark-yellow",
+ "index": 1,
+ "value": 5000000000
+ },
+ {
+ "color": "dark-red",
+ "index": 2,
+ "value": 7000000000
+ }
+ ]
+ },
+ "unit": "Bps"
+ }
},
"gridPos": {
"h": 9,
"w": 12,
"x": 12,
- "y": 1
+ "y": 0
},
- "height": 9,
- "id": 4,
- "interval": null,
- "links": [ ],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "minSpan": 12,
- "nullPointMode": "connected",
- "nullText": null,
- "options": {
- "fieldOptions": {
- "calcs": [
- "last"
- ],
- "defaults": {
- "max": 10000000000,
- "min": 0,
- "title": "$namespace",
- "unit": "Bps"
- },
- "mappings": [ ],
- "override": { },
- "thresholds": [
- {
- "color": "dark-green",
- "index": 0,
- "value": null
- },
- {
- "color": "dark-yellow",
- "index": 1,
- "value": 5000000000
- },
- {
- "color": "dark-red",
- "index": 2,
- "value": 7000000000
- }
- ],
- "values": false
- }
- },
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "span": 12,
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
+ "id": 2,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sum(irate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution]))",
- "format": "time_series",
- "instant": null,
- "intervalFactor": 1,
- "legendFormat": "",
- "refId": "A"
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
}
],
- "thresholds": "",
- "timeFrom": null,
- "timeShift": null,
"title": "Current Rate of Bytes Transmitted",
- "type": "gauge",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "current"
+ "type": "gauge"
},
{
- "columns": [
- {
- "text": "Time",
- "value": "Time"
- },
- {
- "text": "Value #A",
- "value": "Value #A"
- },
- {
- "text": "Value #B",
- "value": "Value #B"
- },
- {
- "text": "Value #C",
- "value": "Value #C"
- },
- {
- "text": "Value #D",
- "value": "Value #D"
- },
- {
- "text": "Value #E",
- "value": "Value #E"
- },
- {
- "text": "Value #F",
- "value": "Value #F"
- },
- {
- "text": "pod",
- "value": "pod"
- }
- ],
- "datasource": "$datasource",
- "fill": 1,
- "fontSize": "100%",
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Bandwidth/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "Bps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Packets/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "pps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Pod"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down",
+ "url": "/d/7a18067ce943a40ae25454675c19ff5c/kubernetes-networking-pod?${datasource:queryparam}&var-cluster=${cluster}&var-namespace=${namespace}&var-pod=${__data.fields.Pod}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
- "y": 10
+ "y": 9
},
- "id": 5,
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "null as zero",
- "renderer": "flot",
- "scroll": true,
- "showHeader": true,
- "sort": {
- "col": 0,
- "desc": false
- },
- "spaceLength": 10,
- "span": 24,
- "styles": [
- {
- "alias": "Time",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Time",
- "thresholds": [ ],
- "type": "hidden",
- "unit": "short"
- },
- {
- "alias": "Bandwidth Received",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Bandwidth Transmitted",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Rate of Received Packets",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Transmitted Packets",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Received Packets Dropped",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Transmitted Packets Dropped",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #F",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Pod",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTooltip": "Drill down",
- "linkUrl": "d/7a18067ce943a40ae25454675c19ff5c/kubernetes-networking-pod?orgId=1&refresh=30s&var-namespace=$namespace&var-pod=$__cell",
- "pattern": "pod",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- }
- ],
+ "id": 3,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sum(irate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])) by (pod)",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A",
- "step": 10
+ "instant": true
},
{
- "expr": "sum(irate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])) by (pod)",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B",
- "step": 10
+ "instant": true
},
{
- "expr": "sum(irate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])) by (pod)",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C",
- "step": 10
+ "instant": true
},
{
- "expr": "sum(irate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])) by (pod)",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D",
- "step": 10
+ "instant": true
},
{
- "expr": "sum(irate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])) by (pod)",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E",
- "step": 10
+ "instant": true
},
{
- "expr": "sum(irate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])) by (pod)",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "F",
- "step": 10
+ "instant": true
+ }
+ ],
+ "title": "Current Network Usage",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "pod",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true
+ },
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Time 6": 5,
+ "Value #A": 7,
+ "Value #B": 8,
+ "Value #C": 9,
+ "Value #D": 10,
+ "Value #E": 11,
+ "Value #F": 12,
+ "pod": 6
+ },
+ "renameByName": {
+ "Value #A": "Current Receive Bandwidth",
+ "Value #B": "Current Transmit Bandwidth",
+ "Value #C": "Rate of Received Packets",
+ "Value #D": "Rate of Transmitted Packets",
+ "Value #E": "Rate of Received Packets Dropped",
+ "Value #F": "Rate of Transmitted Packets Dropped",
+ "pod": "Pod"
+ }
+ }
}
],
- "timeFrom": null,
- "timeShift": null,
- "title": "Current Status",
"type": "table"
},
{
- "collapse": false,
- "collapsed": false,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 19
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "binBps"
+ }
},
- "id": 6,
- "panels": [ ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Bandwidth",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
- "y": 20
+ "y": 18
},
- "id": 7,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "id": 4,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sum(irate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])) by (pod)",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{pod}}",
- "refId": "A",
- "step": 10
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Receive Bandwidth",
- "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": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "binBps"
+ }
+ },
"gridPos": {
"h": 9,
"w": 12,
"x": 12,
- "y": 20
+ "y": 18
},
- "id": 8,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "id": 5,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sum(irate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])) by (pod)",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{pod}}",
- "refId": "A",
- "step": 10
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Transmit Bandwidth",
- "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": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "collapse": true,
- "collapsed": true,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ }
+ },
"gridPos": {
- "h": 1,
- "w": 24,
+ "h": 9,
+ "w": 12,
"x": 0,
- "y": 29
+ "y": 27
+ },
+ "id": 6,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Received Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 27
+ },
+ "id": 7,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Transmitted Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 36
+ },
+ "id": 8,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (namespace) (rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace!=\"\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Received Packets Dropped",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 36
},
"id": 9,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 10,
- "w": 12,
- "x": 0,
- "y": 30
- },
- "id": 10,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])) by (pod)",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{pod}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 10,
- "w": 12,
- "x": 12,
- "y": 30
- },
- "id": 11,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])) by (pod)",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{pod}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "tooltip": {
+ "mode": "single"
}
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Packets",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "collapse": true,
- "collapsed": true,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 30
},
- "id": 12,
- "panels": [
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 10,
- "w": 12,
- "x": 0,
- "y": 40
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "id": 13,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])) by (pod)",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{pod}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets Dropped",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 10,
- "w": 12,
- "x": 12,
- "y": 40
- },
- "id": 14,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])) by (pod)",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{pod}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets Dropped",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "sum(rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Errors",
- "titleSize": "h6",
- "type": "row"
+ "title": "Rate of Transmitted Packets Dropped",
+ "type": "timeseries"
}
],
"refresh": "10s",
- "rows": [ ],
- "schemaVersion": 18,
- "style": "dark",
+ "schemaVersion": 36,
"tags": [
"kubernetes-mixin"
],
@@ -1133,141 +557,49 @@
"list": [
{
"current": {
+ "selected": true,
"text": "default",
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
- "options": [ ],
"query": "prometheus",
- "refresh": 1,
"regex": "",
"type": "datasource"
},
{
- "allValue": null,
- "current": { },
- "datasource": "$datasource",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 2,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "cluster",
"name": "cluster",
- "options": [ ],
"query": "label_values(up{job=\"cadvisor\"}, cluster)",
"refresh": 2,
- "regex": "",
- "sort": 0,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "sort": 1,
+ "type": "query"
},
{
"allValue": ".+",
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
"current": {
+ "selected": false,
"text": "kube-system",
"value": "kube-system"
},
- "datasource": "$datasource",
- "definition": "label_values(container_network_receive_packets_total{cluster=\"$cluster\"}, namespace)",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 0,
"includeAll": true,
- "label": null,
- "multi": false,
+ "label": "namespace",
"name": "namespace",
- "options": [ ],
"query": "label_values(container_network_receive_packets_total{cluster=\"$cluster\"}, namespace)",
"refresh": 2,
- "regex": "",
- "skipUrlSync": false,
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
- },
- {
- "allValue": null,
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
- "current": {
- "text": "5m",
- "value": "5m"
- },
- "datasource": "$datasource",
- "hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
- "name": "resolution",
- "options": [
- {
- "selected": false,
- "text": "30s",
- "value": "30s"
- },
- {
- "selected": true,
- "text": "5m",
- "value": "5m"
- },
- {
- "selected": false,
- "text": "1h",
- "value": "1h"
- }
- ],
- "query": "30s,5m,1h",
- "refresh": 2,
- "regex": "",
- "skipUrlSync": false,
- "sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "interval",
- "useTags": false
- },
- {
- "allValue": null,
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
- "current": {
- "text": "5m",
- "value": "5m"
- },
- "datasource": "$datasource",
- "hide": 2,
- "includeAll": false,
- "label": null,
- "multi": false,
- "name": "interval",
- "options": [
- {
- "selected": true,
- "text": "4h",
- "value": "4h"
- }
- ],
- "query": "4h",
- "refresh": 2,
- "regex": "",
- "skipUrlSync": false,
- "sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "interval",
- "useTags": false
+ "type": "query"
}
]
},
@@ -1275,33 +607,7 @@
"from": "now-1h",
"to": "now"
},
- "timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
- },
"timezone": "UTC",
"title": "Kubernetes / Networking / Namespace (Pods)",
- "uid": "8b7a8b326d7a6f1f04244066368c67af",
- "version": 0
+ "uid": "8b7a8b326d7a6f1f04244066368c67af"
}
diff --git a/assets/kubernetes/dashboards/namespace-by-workload.json b/assets/kubernetes/dashboards/namespace-by-workload.json
index be3ee0d..bccff6d 100644
--- a/assets/kubernetes/dashboards/namespace-by-workload.json
+++ b/assets/kubernetes/dashboards/namespace-by-workload.json
@@ -1,1343 +1,701 @@
{
- "__inputs": [ ],
- "__requires": [ ],
- "annotations": {
- "list": [
- {
- "builtIn": 1,
- "datasource": "-- Grafana --",
- "enable": true,
- "hide": true,
- "iconColor": "rgba(0, 211, 255, 1)",
- "name": "Annotations & Alerts",
- "type": "dashboard"
- }
- ]
- },
- "editable": true,
- "gnetId": null,
- "graphTooltip": 0,
- "hideControls": false,
- "id": null,
- "links": [ ],
+ "editable": false,
"panels": [
{
- "collapse": false,
- "collapsed": false,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "unit": "Bps"
+ }
+ },
"gridPos": {
- "h": 1,
- "w": 24,
+ "h": 9,
+ "w": 12,
"x": 0,
"y": 0
},
- "id": 2,
- "panels": [ ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Current Bandwidth",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "aliasColors": { },
- "bars": true,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 1
+ "id": 1,
+ "options": {
+ "displayMode": "basic",
+ "showUnfilled": false
},
- "id": 3,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "sort": "current",
- "sortDesc": true,
- "total": false,
- "values": true
- },
- "lines": false,
- "linewidth": 1,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "null",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sort_desc(sum(irate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{ workload }}",
- "refId": "A",
- "step": 10
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
+ "legendFormat": "__auto"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Current Rate of Bytes Received",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "series",
- "name": null,
- "show": false,
- "values": [
- "current"
- ]
- },
- "yaxes": [
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "type": "bargauge"
},
{
- "aliasColors": { },
- "bars": true,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "unit": "Bps"
+ }
+ },
"gridPos": {
"h": 9,
"w": 12,
"x": 12,
- "y": 1
+ "y": 0
},
- "id": 4,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "sort": "current",
- "sortDesc": true,
- "total": false,
- "values": true
+ "id": 2,
+ "options": {
+ "displayMode": "basic",
+ "showUnfilled": false
},
- "lines": false,
- "linewidth": 1,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "null",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sort_desc(sum(irate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{ workload }}",
- "refId": "A",
- "step": 10
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
+ "legendFormat": "__auto"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Current Rate of Bytes Transmitted",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "series",
- "name": null,
- "show": false,
- "values": [
- "current"
- ]
- },
- "yaxes": [
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "type": "bargauge"
},
{
- "columns": [
- {
- "text": "Time",
- "value": "Time"
- },
- {
- "text": "Value #A",
- "value": "Value #A"
- },
- {
- "text": "Value #B",
- "value": "Value #B"
- },
- {
- "text": "Value #C",
- "value": "Value #C"
- },
- {
- "text": "Value #D",
- "value": "Value #D"
- },
- {
- "text": "Value #E",
- "value": "Value #E"
- },
- {
- "text": "Value #F",
- "value": "Value #F"
- },
- {
- "text": "Value #G",
- "value": "Value #G"
- },
- {
- "text": "Value #H",
- "value": "Value #H"
- },
- {
- "text": "workload",
- "value": "workload"
- }
- ],
- "datasource": "$datasource",
- "fill": 1,
- "fontSize": "90%",
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Bytes/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "binBps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Packets/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "pps"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Workload"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Drill down",
+ "url": "/d/728bf77cc1166d2f3133bf25846876cc/kubernetes-networking-workload?${datasource:queryparam}&var-cluster=${cluster}&var-namespace=${namespace}&var-type=${__data.fields.Type}&var-workload=${__data.fields.Workload}"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
- "y": 10
+ "y": 9
},
- "id": 5,
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "null as zero",
- "renderer": "flot",
- "scroll": true,
- "showHeader": true,
- "sort": {
- "col": 0,
- "desc": false
- },
- "spaceLength": 10,
- "span": 24,
- "styles": [
- {
- "alias": "Time",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Time",
- "thresholds": [ ],
- "type": "hidden",
- "unit": "short"
- },
- {
- "alias": "Current Bandwidth Received",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #A",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Current Bandwidth Transmitted",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #B",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Average Bandwidth Received",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #C",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Average Bandwidth Transmitted",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #D",
- "thresholds": [ ],
- "type": "number",
- "unit": "Bps"
- },
- {
- "alias": "Rate of Received Packets",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #E",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Transmitted Packets",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #F",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Received Packets Dropped",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #G",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Rate of Transmitted Packets Dropped",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": false,
- "linkTooltip": "Drill down",
- "linkUrl": "",
- "pattern": "Value #H",
- "thresholds": [ ],
- "type": "number",
- "unit": "pps"
- },
- {
- "alias": "Workload",
- "colorMode": null,
- "colors": [ ],
- "dateFormat": "YYYY-MM-DD HH:mm:ss",
- "decimals": 2,
- "link": true,
- "linkTooltip": "Drill down",
- "linkUrl": "d/728bf77cc1166d2f3133bf25846876cc/kubernetes-networking-workload?orgId=1&refresh=30s&var-namespace=$namespace&var-type=$type&var-workload=$__cell",
- "pattern": "workload",
- "thresholds": [ ],
- "type": "number",
- "unit": "short"
- }
- ],
+ "id": 3,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sort_desc(sum(irate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload, workload_type))\n",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A",
- "step": 10
+ "instant": true
},
{
- "expr": "sort_desc(sum(irate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload, workload_type))\n",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "B",
- "step": 10
+ "instant": true
},
{
- "expr": "sort_desc(avg(irate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(avg(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload, workload_type))\n",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "C",
- "step": 10
+ "instant": true
},
{
- "expr": "sort_desc(avg(irate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(avg(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload, workload_type))\n",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "D",
- "step": 10
+ "instant": true
},
{
- "expr": "sort_desc(sum(irate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload, workload_type))\n",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "E",
- "step": 10
+ "instant": true
},
{
- "expr": "sort_desc(sum(irate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload, workload_type))\n",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "F",
- "step": 10
+ "instant": true
},
{
- "expr": "sort_desc(sum(irate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload, workload_type))\n",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "G",
- "step": 10
+ "instant": true
},
{
- "expr": "sort_desc(sum(irate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload, workload_type))\n",
"format": "table",
- "instant": true,
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "H",
- "step": 10
+ "instant": true
}
],
- "timeFrom": null,
- "timeShift": null,
"title": "Current Status",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "workload",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true,
+ "Time 7": true,
+ "Time 8": true,
+ "workload_type 2": true,
+ "workload_type 3": true,
+ "workload_type 4": true,
+ "workload_type 5": true,
+ "workload_type 6": true,
+ "workload_type 7": true,
+ "workload_type 8": true
+ },
+ "indexByName": {
+ "Time 1": 0,
+ "Time 2": 1,
+ "Time 3": 2,
+ "Time 4": 3,
+ "Time 5": 4,
+ "Time 6": 5,
+ "Time 7": 6,
+ "Time 8": 7,
+ "Value #A": 10,
+ "Value #B": 11,
+ "Value #C": 12,
+ "Value #D": 13,
+ "Value #E": 14,
+ "Value #F": 15,
+ "Value #G": 16,
+ "Value #H": 17,
+ "workload": 8,
+ "workload_type 1": 9,
+ "workload_type 2": 18,
+ "workload_type 3": 19,
+ "workload_type 4": 20,
+ "workload_type 5": 21,
+ "workload_type 6": 22,
+ "workload_type 7": 23,
+ "workload_type 8": 24
+ },
+ "renameByName": {
+ "Value #A": "Rx Bytes",
+ "Value #B": "Tx Bytes",
+ "Value #C": "Rx Bytes (Avg)",
+ "Value #D": "Tx Bytes (Avg)",
+ "Value #E": "Rx Packets",
+ "Value #F": "Tx Packets",
+ "Value #G": "Rx Packets Dropped",
+ "Value #H": "Tx Packets Dropped",
+ "workload": "Workload",
+ "workload_type 1": "Type"
+ }
+ }
+ }
+ ],
"type": "table"
},
{
- "collapse": true,
- "collapsed": true,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 19
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
},
- "id": 6,
- "panels": [
- {
- "aliasColors": { },
- "bars": true,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 20
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "id": 7,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "sort": "current",
- "sortDesc": true,
- "total": false,
- "values": true
- },
- "lines": false,
- "linewidth": 1,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "null",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(avg(irate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{ workload }}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Average Rate of Bytes Received",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "series",
- "name": null,
- "show": false,
- "values": [
- "current"
- ]
- },
- "yaxes": [
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": true,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 12,
- "y": 20
- },
- "id": 8,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "sort": "current",
- "sortDesc": true,
- "total": false,
- "values": true
- },
- "lines": false,
- "linewidth": 1,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "null",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(avg(irate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{ workload }}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Average Rate of Bytes Transmitted",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "series",
- "name": null,
- "show": false,
- "values": [
- "current"
- ]
- },
- "yaxes": [
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "unit": "Bps"
}
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Average Bandwidth",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "collapse": false,
- "collapsed": false,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 29
},
- "id": 9,
- "panels": [ ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Bandwidth HIstory",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
- "y": 38
+ "y": 18
},
- "id": 10,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "id": 4,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sort_desc(sum(irate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{workload}}",
- "refId": "A",
- "step": 10
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
+ "legendFormat": "__auto"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Receive Bandwidth",
- "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": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "Bps"
+ }
+ },
"gridPos": {
"h": 9,
"w": 12,
"x": 12,
- "y": 38
+ "y": 18
},
- "id": 11,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "id": 5,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sort_desc(sum(irate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{workload}}",
- "refId": "A",
- "step": 10
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
+ "legendFormat": "__auto"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Transmit Bandwidth",
- "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": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "collapse": true,
- "collapsed": true,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 39
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
},
- "id": 12,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 40
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "id": 13,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(sum(irate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{workload}}",
- "refId": "A",
- "step": 10
- }
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 27
+ },
+ "id": 6,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 12,
- "y": 40
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "id": 14,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(sum(irate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{workload}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "sort_desc(avg(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Packets",
- "titleSize": "h6",
- "type": "row"
+ "title": "Average Container Bandwidth by Workload: Received",
+ "type": "timeseries"
},
{
- "collapse": true,
- "collapsed": true,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 40
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
},
- "id": 15,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 41
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "id": 16,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(sum(irate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{workload}}",
- "refId": "A",
- "step": 10
- }
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 27
+ },
+ "id": 7,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets Dropped",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 12,
- "y": 41
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "id": 17,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(sum(irate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=\"$type\"}) by (workload))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{workload}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets Dropped",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "sort_desc(avg(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Errors",
- "titleSize": "h6",
- "type": "row"
+ "title": "Average Container Bandwidth by Workload: Transmitted",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 36
+ },
+ "id": 8,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Received Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 36
+ },
+ "id": 9,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Transmitted Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 45
+ },
+ "id": 10,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Received Packets Dropped",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 45
+ },
+ "id": 11,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\", workload_type=~\"$type\"}) by (workload))\n",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Transmitted Packets Dropped",
+ "type": "timeseries"
}
],
"refresh": "10s",
- "rows": [ ],
- "schemaVersion": 18,
- "style": "dark",
+ "schemaVersion": 36,
"tags": [
"kubernetes-mixin"
],
@@ -1345,169 +703,61 @@
"list": [
{
"current": {
+ "selected": true,
"text": "default",
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
- "options": [ ],
"query": "prometheus",
- "refresh": 1,
"regex": "",
"type": "datasource"
},
{
- "allValue": null,
- "current": { },
- "datasource": "$datasource",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 2,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "cluster",
"name": "cluster",
- "options": [ ],
"query": "label_values(up{job=\"cadvisor\"}, cluster)",
"refresh": 2,
- "regex": "",
- "sort": 0,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "sort": 1,
+ "type": "query"
},
{
- "allValue": null,
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
"current": {
+ "selected": false,
"text": "kube-system",
"value": "kube-system"
},
- "datasource": "$datasource",
- "definition": "label_values(container_network_receive_packets_total{cluster=\"$cluster\"}, namespace)",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "namespace",
"name": "namespace",
- "options": [ ],
"query": "label_values(container_network_receive_packets_total{cluster=\"$cluster\"}, namespace)",
"refresh": 2,
- "regex": "",
- "skipUrlSync": false,
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
- "current": {
- "text": "deployment",
- "value": "deployment"
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
- "definition": "label_values(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\"}, workload_type)",
"hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "includeAll": true,
+ "label": "workload_type",
"name": "type",
- "options": [ ],
- "query": "label_values(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=\"$namespace\", workload=~\".+\"}, workload_type)",
+ "query": "label_values(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=\"$namespace\", workload=~\".+\"}, workload_type)",
"refresh": 2,
- "regex": "",
- "skipUrlSync": false,
- "sort": 0,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
- },
- {
- "allValue": null,
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
- "current": {
- "text": "5m",
- "value": "5m"
- },
- "datasource": "$datasource",
- "hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
- "name": "resolution",
- "options": [
- {
- "selected": false,
- "text": "30s",
- "value": "30s"
- },
- {
- "selected": true,
- "text": "5m",
- "value": "5m"
- },
- {
- "selected": false,
- "text": "1h",
- "value": "1h"
- }
- ],
- "query": "30s,5m,1h",
- "refresh": 2,
- "regex": "",
- "skipUrlSync": false,
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "interval",
- "useTags": false
- },
- {
- "allValue": null,
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
- "current": {
- "text": "5m",
- "value": "5m"
- },
- "datasource": "$datasource",
- "hide": 2,
- "includeAll": false,
- "label": null,
- "multi": false,
- "name": "interval",
- "options": [
- {
- "selected": true,
- "text": "4h",
- "value": "4h"
- }
- ],
- "query": "4h",
- "refresh": 2,
- "regex": "",
- "skipUrlSync": false,
- "sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "interval",
- "useTags": false
+ "type": "query"
}
]
},
@@ -1515,33 +765,7 @@
"from": "now-1h",
"to": "now"
},
- "timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
- },
"timezone": "UTC",
"title": "Kubernetes / Networking / Namespace (Workload)",
- "uid": "bbb2a765a623ae38130206c7d94a160f",
- "version": 0
+ "uid": "bbb2a765a623ae38130206c7d94a160f"
}
diff --git a/assets/kubernetes/dashboards/persistentvolumesusage.json b/assets/kubernetes/dashboards/persistentvolumesusage.json
index bd7592c..40ef01e 100644
--- a/assets/kubernetes/dashboards/persistentvolumesusage.json
+++ b/assets/kubernetes/dashboards/persistentvolumesusage.json
@@ -1,392 +1,233 @@
{
- "__inputs": [ ],
- "__requires": [ ],
- "annotations": {
- "list": [ ]
- },
"editable": false,
- "gnetId": null,
- "graphTooltip": 0,
- "hideControls": false,
- "id": null,
- "links": [ ],
- "refresh": "10s",
- "rows": [
+ "panels": [
{
- "collapse": false,
- "collapsed": false,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 2,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": true,
- "current": true,
- "max": true,
- "min": true,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 9,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "(\n sum without(instance, node) (topk(1, (kubelet_volume_stats_capacity_bytes{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})))\n -\n sum without(instance, node) (topk(1, (kubelet_volume_stats_available_bytes{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})))\n)\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "Used Space",
- "refId": "A"
- },
- {
- "expr": "sum without(instance, node) (topk(1, (kubelet_volume_stats_available_bytes{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "Free Space",
- "refId": "B"
- }
+ "unit": "bytes"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 18,
+ "y": 0
+ },
+ "id": 1,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Volume Space Usage",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "(\n sum without(instance, node) (topk(1, (kubelet_volume_stats_capacity_bytes{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})))\n -\n sum without(instance, node) (topk(1, (kubelet_volume_stats_available_bytes{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})))\n)\n",
+ "legendFormat": "Used Space"
},
{
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "rgba(50, 172, 45, 0.97)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(245, 54, 54, 0.9)"
- ],
- "datasource": "$datasource",
- "format": "percent",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": true,
- "thresholdLabels": false,
- "thresholdMarkers": true
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "gridPos": { },
- "id": 3,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "rightSide": true
- },
- "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": 3,
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
- "targets": [
- {
- "expr": "max without(instance,node) (\n(\n topk(1, kubelet_volume_stats_capacity_bytes{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})\n -\n topk(1, kubelet_volume_stats_available_bytes{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})\n)\n/\ntopk(1, kubelet_volume_stats_capacity_bytes{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})\n* 100)\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- }
- ],
- "thresholds": "80, 90",
- "title": "Volume Space Usage",
- "tooltip": {
- "shared": false
- },
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "current"
+ "expr": "sum without(instance, node) (topk(1, (kubelet_volume_stats_available_bytes{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})))\n",
+ "legendFormat": "Free Space"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
+ "title": "Volume Space Usage",
+ "type": "timeseries"
},
{
- "collapse": false,
- "collapsed": false,
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": 0
+ },
+ {
+ "color": "orange",
+ "value": 80
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percent"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 0
+ },
+ "id": 2,
+ "interval": "1m",
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 4,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": true,
- "current": true,
- "max": true,
- "min": true,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 9,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum without(instance, node) (topk(1, (kubelet_volume_stats_inodes_used{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "Used inodes",
- "refId": "A"
- },
- {
- "expr": "(\n sum without(instance, node) (topk(1, (kubelet_volume_stats_inodes{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})))\n -\n sum without(instance, node) (topk(1, (kubelet_volume_stats_inodes_used{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})))\n)\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": " Free inodes",
- "refId": "B"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Volume inodes Usage",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "none",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "none",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- },
- {
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "rgba(50, 172, 45, 0.97)",
- "rgba(237, 129, 40, 0.89)",
- "rgba(245, 54, 54, 0.9)"
- ],
- "datasource": "$datasource",
- "format": "percent",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": true,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": { },
- "id": 5,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "rightSide": true
- },
- "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": 3,
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
- "targets": [
- {
- "expr": "max without(instance,node) (\ntopk(1, kubelet_volume_stats_inodes_used{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})\n/\ntopk(1, kubelet_volume_stats_inodes{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})\n* 100)\n",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- }
- ],
- "thresholds": "80, 90",
- "title": "Volume inodes Usage",
- "tooltip": {
- "shared": false
- },
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "current"
+ "expr": "max without(instance,node) (\n(\n topk(1, kubelet_volume_stats_capacity_bytes{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})\n -\n topk(1, kubelet_volume_stats_available_bytes{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})\n)\n/\ntopk(1, kubelet_volume_stats_capacity_bytes{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})\n* 100)\n",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
+ "title": "Volume Space Usage",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "none"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 18,
+ "y": 7
+ },
+ "id": 3,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum without(instance, node) (topk(1, (kubelet_volume_stats_inodes_used{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})))",
+ "legendFormat": "Used inodes"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(\n sum without(instance, node) (topk(1, (kubelet_volume_stats_inodes{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})))\n -\n sum without(instance, node) (topk(1, (kubelet_volume_stats_inodes_used{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})))\n)\n",
+ "legendFormat": "Free inodes"
+ }
+ ],
+ "title": "Volume inodes Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": 0
+ },
+ {
+ "color": "orange",
+ "value": 80
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percent"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 7
+ },
+ "id": 4,
+ "interval": "1m",
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "max without(instance,node) (\ntopk(1, kubelet_volume_stats_inodes_used{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})\n/\ntopk(1, kubelet_volume_stats_inodes{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\", persistentvolumeclaim=\"$volume\"})\n* 100)\n",
+ "instant": true
+ }
+ ],
+ "title": "Volume inodes Usage",
+ "type": "gauge"
}
],
- "schemaVersion": 14,
- "style": "dark",
+ "refresh": "10s",
+ "schemaVersion": 36,
"tags": [
"kubernetes-mixin"
],
@@ -394,111 +235,63 @@
"list": [
{
"current": {
+ "selected": true,
"text": "default",
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
- "options": [ ],
"query": "prometheus",
- "refresh": 1,
"regex": "",
"type": "datasource"
},
{
- "allValue": null,
- "current": { },
- "datasource": "$datasource",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 2,
- "includeAll": false,
"label": "cluster",
- "multi": false,
"name": "cluster",
- "options": [ ],
"query": "label_values(kubelet_volume_stats_capacity_bytes{job=\"kubelet\"}, cluster)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "current": { },
- "datasource": "$datasource",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 0,
- "includeAll": false,
"label": "Namespace",
- "multi": false,
"name": "namespace",
- "options": [ ],
"query": "label_values(kubelet_volume_stats_capacity_bytes{cluster=\"$cluster\", job=\"kubelet\"}, namespace)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "current": { },
- "datasource": "$datasource",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 0,
- "includeAll": false,
"label": "PersistentVolumeClaim",
- "multi": false,
"name": "volume",
- "options": [ ],
"query": "label_values(kubelet_volume_stats_capacity_bytes{cluster=\"$cluster\", job=\"kubelet\", namespace=\"$namespace\"}, persistentvolumeclaim)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
}
]
},
"time": {
- "from": "now-7d",
+ "from": "now-1h",
"to": "now"
},
- "timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
- },
"timezone": "UTC",
"title": "Kubernetes / Persistent Volumes",
- "uid": "919b92a8e8041bd567af9edab12c840c",
- "version": 0
+ "uid": "919b92a8e8041bd567af9edab12c840c"
}
diff --git a/assets/kubernetes/dashboards/pod-total.json b/assets/kubernetes/dashboards/pod-total.json
index 0b227c0..fb02fa8 100644
--- a/assets/kubernetes/dashboards/pod-total.json
+++ b/assets/kubernetes/dashboards/pod-total.json
@@ -1,897 +1,391 @@
{
- "__inputs": [ ],
- "__requires": [ ],
- "annotations": {
- "list": [
- {
- "builtIn": 1,
- "datasource": "-- Grafana --",
- "enable": true,
- "hide": true,
- "iconColor": "rgba(0, 211, 255, 1)",
- "name": "Annotations & Alerts",
- "type": "dashboard"
- }
- ]
- },
- "editable": true,
- "gnetId": null,
- "graphTooltip": 0,
- "hideControls": false,
- "id": null,
- "links": [ ],
+ "editable": false,
"panels": [
{
- "collapse": false,
- "collapsed": false,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "displayName": "$pod",
+ "max": 10000000000,
+ "min": 0,
+ "thresholds": {
+ "steps": [
+ {
+ "color": "dark-green",
+ "index": 0,
+ "value": null
+ },
+ {
+ "color": "dark-yellow",
+ "index": 1,
+ "value": 5000000000
+ },
+ {
+ "color": "dark-red",
+ "index": 2,
+ "value": 7000000000
+ }
+ ]
+ },
+ "unit": "Bps"
+ }
+ },
"gridPos": {
- "h": 1,
- "w": 24,
+ "h": 9,
+ "w": 12,
"x": 0,
"y": 0
},
- "id": 2,
- "panels": [ ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Current Bandwidth",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "#299c46",
- "rgba(237, 129, 40, 0.89)",
- "#d44a3a"
- ],
- "datasource": "$datasource",
- "decimals": 0,
- "format": "time_series",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
- },
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 1
- },
- "height": 9,
- "id": 3,
- "interval": null,
- "links": [ ],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "minSpan": 12,
- "nullPointMode": "connected",
- "nullText": null,
- "options": {
- "fieldOptions": {
- "calcs": [
- "last"
- ],
- "defaults": {
- "max": 10000000000,
- "min": 0,
- "title": "$namespace: $pod",
- "unit": "Bps"
- },
- "mappings": [ ],
- "override": { },
- "thresholds": [
- {
- "color": "dark-green",
- "index": 0,
- "value": null
- },
- {
- "color": "dark-yellow",
- "index": 1,
- "value": 5000000000
- },
- {
- "color": "dark-red",
- "index": 2,
- "value": 7000000000
- }
- ],
- "values": false
- }
- },
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "span": 12,
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
+ "id": 1,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sum(irate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\", pod=~\"$pod\"}[$interval:$resolution]))",
- "format": "time_series",
- "instant": null,
- "intervalFactor": 1,
- "legendFormat": "",
- "refId": "A"
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
}
],
- "thresholds": "",
- "timeFrom": null,
- "timeShift": null,
"title": "Current Rate of Bytes Received",
- "type": "gauge",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "current"
+ "type": "gauge"
},
{
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "#299c46",
- "rgba(237, 129, 40, 0.89)",
- "#d44a3a"
- ],
- "datasource": "$datasource",
- "decimals": 0,
- "format": "time_series",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "displayName": "$pod",
+ "max": 10000000000,
+ "min": 0,
+ "thresholds": {
+ "steps": [
+ {
+ "color": "dark-green",
+ "index": 0,
+ "value": null
+ },
+ {
+ "color": "dark-yellow",
+ "index": 1,
+ "value": 5000000000
+ },
+ {
+ "color": "dark-red",
+ "index": 2,
+ "value": 7000000000
+ }
+ ]
+ },
+ "unit": "Bps"
+ }
},
"gridPos": {
"h": 9,
"w": 12,
"x": 12,
- "y": 1
+ "y": 0
},
- "height": 9,
- "id": 4,
- "interval": null,
- "links": [ ],
- "mappingType": 1,
- "mappingTypes": [
- {
- "name": "value to text",
- "value": 1
- },
- {
- "name": "range to text",
- "value": 2
- }
- ],
- "maxDataPoints": 100,
- "minSpan": 12,
- "nullPointMode": "connected",
- "nullText": null,
- "options": {
- "fieldOptions": {
- "calcs": [
- "last"
- ],
- "defaults": {
- "max": 10000000000,
- "min": 0,
- "title": "$namespace: $pod",
- "unit": "Bps"
- },
- "mappings": [ ],
- "override": { },
- "thresholds": [
- {
- "color": "dark-green",
- "index": 0,
- "value": null
- },
- {
- "color": "dark-yellow",
- "index": 1,
- "value": 5000000000
- },
- {
- "color": "dark-red",
- "index": 2,
- "value": 7000000000
- }
- ],
- "values": false
- }
- },
- "postfix": "",
- "postfixFontSize": "50%",
- "prefix": "",
- "prefixFontSize": "50%",
- "rangeMaps": [
- {
- "from": "null",
- "text": "N/A",
- "to": "null"
- }
- ],
- "span": 12,
- "sparkline": {
- "fillColor": "rgba(31, 118, 189, 0.18)",
- "full": false,
- "lineColor": "rgb(31, 120, 193)",
- "show": false
- },
- "tableColumn": "",
+ "id": 2,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sum(irate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\", pod=~\"$pod\"}[$interval:$resolution]))",
- "format": "time_series",
- "instant": null,
- "intervalFactor": 1,
- "legendFormat": "",
- "refId": "A"
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval]))",
+ "legendFormat": "__auto"
}
],
- "thresholds": "",
- "timeFrom": null,
- "timeShift": null,
"title": "Current Rate of Bytes Transmitted",
- "type": "gauge",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "current"
+ "type": "gauge"
},
{
- "collapse": false,
- "collapsed": false,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "binBps"
+ }
+ },
"gridPos": {
- "h": 1,
- "w": 24,
+ "h": 9,
+ "w": 12,
"x": 0,
- "y": 10
+ "y": 9
+ },
+ "id": 3,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Receive Bandwidth",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "binBps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 9
+ },
+ "id": 4,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Transmit Bandwidth",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 18
},
"id": 5,
- "panels": [ ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Bandwidth",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 11
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "id": 6,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sum(irate(container_network_receive_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\", pod=~\"$pod\"}[$interval:$resolution])) by (pod)",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{pod}}",
- "refId": "A",
- "step": 10
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Receive Bandwidth",
- "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": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "title": "Rate of Received Packets",
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ }
+ },
"gridPos": {
"h": 9,
"w": 12,
"x": 12,
- "y": 11
+ "y": 18
},
- "id": 7,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "id": 6,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sum(irate(container_network_transmit_bytes_total{cluster=\"$cluster\",namespace=~\"$namespace\", pod=~\"$pod\"}[$interval:$resolution])) by (pod)",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{pod}}",
- "refId": "A",
- "step": 10
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Transmit Bandwidth",
- "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": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "title": "Rate of Transmitted Packets",
+ "type": "timeseries"
},
{
- "collapse": true,
- "collapsed": true,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ }
+ },
"gridPos": {
- "h": 1,
- "w": 24,
+ "h": 9,
+ "w": 12,
"x": 0,
- "y": 20
+ "y": 27
+ },
+ "id": 7,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Received Packets Dropped",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 27
},
"id": 8,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 10,
- "w": 12,
- "x": 0,
- "y": 21
- },
- "id": 9,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_receive_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\", pod=~\"$pod\"}[$interval:$resolution])) by (pod)",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{pod}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 10,
- "w": 12,
- "x": 12,
- "y": 21
- },
- "id": 10,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_transmit_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\", pod=~\"$pod\"}[$interval:$resolution])) by (pod)",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{pod}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "tooltip": {
+ "mode": "single"
}
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Packets",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "collapse": true,
- "collapsed": true,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 21
},
- "id": 11,
- "panels": [
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 10,
- "w": 12,
- "x": 0,
- "y": 32
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "id": 12,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_receive_packets_dropped_total{cluster=\"$cluster\",namespace=~\"$namespace\", pod=~\"$pod\"}[$interval:$resolution])) by (pod)",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{pod}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets Dropped",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 10,
- "w": 12,
- "x": 12,
- "y": 32
- },
- "id": 13,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(irate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=~\"$namespace\", pod=~\"$pod\"}[$interval:$resolution])) by (pod)",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{pod}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets Dropped",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "sum(rate(container_network_transmit_packets_dropped_total{cluster=\"$cluster\",namespace=~\"$namespace\", pod=~\"$pod\"}[$__rate_interval])) by (pod)",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Errors",
- "titleSize": "h6",
- "type": "row"
+ "title": "Rate of Transmitted Packets Dropped",
+ "type": "timeseries"
}
],
"refresh": "10s",
- "rows": [ ],
- "schemaVersion": 18,
- "style": "dark",
+ "schemaVersion": 36,
"tags": [
"kubernetes-mixin"
],
@@ -899,169 +393,67 @@
"list": [
{
"current": {
+ "selected": true,
"text": "default",
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
- "options": [ ],
"query": "prometheus",
- "refresh": 1,
"regex": "",
"type": "datasource"
},
{
- "allValue": null,
- "current": { },
- "datasource": "$datasource",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 2,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "cluster",
"name": "cluster",
- "options": [ ],
"query": "label_values(up{job=\"cadvisor\"}, cluster)",
"refresh": 2,
- "regex": "",
- "sort": 0,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "sort": 1,
+ "type": "query"
},
{
"allValue": ".+",
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
"current": {
+ "selected": false,
"text": "kube-system",
"value": "kube-system"
},
- "datasource": "$datasource",
- "definition": "label_values(container_network_receive_packets_total{cluster=\"$cluster\"}, namespace)",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 0,
"includeAll": true,
- "label": null,
- "multi": false,
+ "label": "namespace",
"name": "namespace",
- "options": [ ],
"query": "label_values(container_network_receive_packets_total{cluster=\"$cluster\"}, namespace)",
"refresh": 2,
- "regex": "",
- "skipUrlSync": false,
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": ".+",
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
"current": {
- "text": "",
- "value": ""
+ "selected": false,
+ "text": "kube-system",
+ "value": "kube-system"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
- "definition": "label_values(container_network_receive_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\"}, pod)",
"hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "pod",
"name": "pod",
- "options": [ ],
"query": "label_values(container_network_receive_packets_total{cluster=\"$cluster\",namespace=~\"$namespace\"}, pod)",
"refresh": 2,
- "regex": "",
- "skipUrlSync": false,
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
- },
- {
- "allValue": null,
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
- "current": {
- "text": "5m",
- "value": "5m"
- },
- "datasource": "$datasource",
- "hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
- "name": "resolution",
- "options": [
- {
- "selected": false,
- "text": "30s",
- "value": "30s"
- },
- {
- "selected": true,
- "text": "5m",
- "value": "5m"
- },
- {
- "selected": false,
- "text": "1h",
- "value": "1h"
- }
- ],
- "query": "30s,5m,1h",
- "refresh": 2,
- "regex": "",
- "skipUrlSync": false,
- "sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "interval",
- "useTags": false
- },
- {
- "allValue": null,
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
- "current": {
- "text": "5m",
- "value": "5m"
- },
- "datasource": "$datasource",
- "hide": 2,
- "includeAll": false,
- "label": null,
- "multi": false,
- "name": "interval",
- "options": [
- {
- "selected": true,
- "text": "4h",
- "value": "4h"
- }
- ],
- "query": "4h",
- "refresh": 2,
- "regex": "",
- "skipUrlSync": false,
- "sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "interval",
- "useTags": false
+ "type": "query"
}
]
},
@@ -1069,33 +461,7 @@
"from": "now-1h",
"to": "now"
},
- "timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
- },
"timezone": "UTC",
"title": "Kubernetes / Networking / Pod",
- "uid": "7a18067ce943a40ae25454675c19ff5c",
- "version": 0
+ "uid": "7a18067ce943a40ae25454675c19ff5c"
}
diff --git a/assets/kubernetes/dashboards/proxy.json b/assets/kubernetes/dashboards/proxy.json
index ce9551a..3405f73 100644
--- a/assets/kubernetes/dashboards/proxy.json
+++ b/assets/kubernetes/dashboards/proxy.json
@@ -1,1010 +1,578 @@
{
- "__inputs": [ ],
- "__requires": [ ],
- "annotations": {
- "list": [ ]
- },
"editable": false,
- "gnetId": null,
- "graphTooltip": 0,
- "hideControls": false,
- "id": null,
- "links": [ ],
- "refresh": "10s",
- "rows": [
+ "panels": [
{
- "collapse": false,
- "collapsed": false,
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "none"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "interval": "1m",
+ "options": {
+ "colorMode": "none"
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "#299c46",
- "rgba(237, 129, 40, 0.89)",
- "#d44a3a"
- ],
- "datasource": "$datasource",
- "format": "none",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "gridPos": { },
- "id": 2,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "rightSide": true
- },
- "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(up{cluster=\"$cluster\", job=\"kube-proxy\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- }
- ],
- "thresholds": "",
- "title": "Up",
- "tooltip": {
- "shared": false
- },
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "min"
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 3,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 5,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(rate(kubeproxy_sync_proxy_rules_duration_seconds_count{cluster=\"$cluster\", job=\"kube-proxy\", instance=~\"$instance\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "rate",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rules Sync Rate",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 4,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 5,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "histogram_quantile(0.99,rate(kubeproxy_sync_proxy_rules_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-proxy\", instance=~\"$instance\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rule Sync Latency 99th Quantile",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "sum(up{cluster=\"$cluster\", job=\"kube-proxy\"})",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
+ "title": "Up",
+ "type": "stat"
},
{
- "collapse": false,
- "collapsed": false,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 5,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(rate(kubeproxy_network_programming_duration_seconds_count{cluster=\"$cluster\", job=\"kube-proxy\", instance=~\"$instance\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "rate",
- "refId": "A"
- }
+ "unit": "ops"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 10,
+ "x": 4,
+ "y": 0
+ },
+ "id": 2,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Network Programming Rate",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 6,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 6,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "histogram_quantile(0.99, sum(rate(kubeproxy_network_programming_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-proxy\", instance=~\"$instance\"}[$__rate_interval])) by (instance, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Network Programming Latency 99th Quantile",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "sum(rate(kubeproxy_sync_proxy_rules_duration_seconds_count{cluster=\"$cluster\", job=\"kube-proxy\", instance=~\"$instance\"}[$__rate_interval]))",
+ "legendFormat": "rate"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
+ "title": "Rules Sync Rate",
+ "type": "timeseries"
},
{
- "collapse": false,
- "collapsed": false,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 7,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 4,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\", job=\"kube-proxy\", instance=~\"$instance\",code=~\"2..\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "2xx",
- "refId": "A"
- },
- {
- "expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\", job=\"kube-proxy\", instance=~\"$instance\",code=~\"3..\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "3xx",
- "refId": "B"
- },
- {
- "expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\", job=\"kube-proxy\", instance=~\"$instance\",code=~\"4..\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "4xx",
- "refId": "C"
- },
- {
- "expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\", job=\"kube-proxy\", instance=~\"$instance\",code=~\"5..\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "5xx",
- "refId": "D"
- }
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 10,
+ "x": 14,
+ "y": 0
+ },
+ "id": 3,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Kube API Request Rate",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 8,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 8,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "histogram_quantile(0.99, sum(rate(rest_client_request_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-proxy\",instance=~\"$instance\",verb=\"POST\"}[$__rate_interval])) by (verb, url, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{verb}} {{url}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Post Request Latency 99th Quantile",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "histogram_quantile(0.99,rate(kubeproxy_sync_proxy_rules_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-proxy\", instance=~\"$instance\"}[$__rate_interval]))",
+ "legendFormat": "{{instance}}"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
+ "title": "Rules Sync Latency 99th Quantile",
+ "type": "timeseries"
},
{
- "collapse": false,
- "collapsed": false,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 9,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "histogram_quantile(0.99, sum(rate(rest_client_request_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-proxy\", instance=~\"$instance\", verb=\"GET\"}[$__rate_interval])) by (verb, url, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{verb}} {{url}}",
- "refId": "A"
- }
+ "unit": "ops"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 7
+ },
+ "id": 4,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Get Request Latency 99th Quantile",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "sum(rate(kubeproxy_network_programming_duration_seconds_count{cluster=\"$cluster\", job=\"kube-proxy\", instance=~\"$instance\"}[$__rate_interval]))",
+ "legendFormat": "rate"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
+ "title": "Network Programming Rate",
+ "type": "timeseries"
},
{
- "collapse": false,
- "collapsed": false,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 10,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 4,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "process_resident_memory_bytes{cluster=\"$cluster\", job=\"kube-proxy\",instance=~\"$instance\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
- }
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 7
+ },
+ "id": 5,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 11,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 4,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "rate(process_cpu_seconds_total{cluster=\"$cluster\", job=\"kube-proxy\",instance=~\"$instance\"}[$__rate_interval])",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU usage",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "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": 0,
- "show": true
- },
- {
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 12,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 4,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "go_goroutines{cluster=\"$cluster\", job=\"kube-proxy\",instance=~\"$instance\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Goroutines",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "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
- }
- ]
+ "expr": "histogram_quantile(0.99, sum(rate(kubeproxy_network_programming_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-proxy\", instance=~\"$instance\"}[$__rate_interval])) by (instance, le))",
+ "legendFormat": "{{instance}}"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
+ "title": "Network Programming Latency 99th Quantile",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "ops"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 14
+ },
+ "id": 6,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\",job=\"kube-proxy\", instance=~\"$instance\",code=~\"2..\"}[$__rate_interval]))",
+ "legendFormat": "2xx"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\",job=\"kube-proxy\", instance=~\"$instance\",code=~\"3..\"}[$__rate_interval]))",
+ "legendFormat": "3xx"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\",job=\"kube-proxy\", instance=~\"$instance\",code=~\"4..\"}[$__rate_interval]))",
+ "legendFormat": "4xx"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\",job=\"kube-proxy\", instance=~\"$instance\",code=~\"5..\"}[$__rate_interval]))",
+ "legendFormat": "5xx"
+ }
+ ],
+ "title": "Kube API Request Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "ops"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 16,
+ "x": 8,
+ "y": 14
+ },
+ "id": 7,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "histogram_quantile(0.99, sum(rate(rest_client_request_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-proxy\",instance=~\"$instance\",verb=\"POST\"}[$__rate_interval])) by (verb, url, le))",
+ "legendFormat": "{{verb}} {{url}}"
+ }
+ ],
+ "title": "Post Request Latency 99th Quantile",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 21
+ },
+ "id": 8,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "histogram_quantile(0.99, sum(rate(rest_client_request_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-proxy\", instance=~\"$instance\", verb=\"GET\"}[$__rate_interval])) by (verb, url, le))",
+ "legendFormat": "{{verb}} {{url}}"
+ }
+ ],
+ "title": "Get Request Latency 99th Quantile",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "bytes"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 28
+ },
+ "id": 9,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "process_resident_memory_bytes{cluster=\"$cluster\", job=\"kube-proxy\",instance=~\"$instance\"}",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 28
+ },
+ "id": 10,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "rate(process_cpu_seconds_total{cluster=\"$cluster\", job=\"kube-proxy\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "CPU usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 28
+ },
+ "id": 11,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "go_goroutines{cluster=\"$cluster\", job=\"kube-proxy\",instance=~\"$instance\"}",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Goroutines",
+ "type": "timeseries"
}
],
- "schemaVersion": 14,
- "style": "dark",
+ "refresh": "10s",
+ "schemaVersion": 36,
"tags": [
"kubernetes-mixin"
],
@@ -1012,57 +580,43 @@
"list": [
{
"current": {
+ "selected": true,
"text": "default",
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
- "options": [ ],
"query": "prometheus",
- "refresh": 1,
"regex": "",
"type": "datasource"
},
{
- "allValue": null,
- "current": { },
- "datasource": "$datasource",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 2,
- "includeAll": false,
"label": "cluster",
- "multi": false,
"name": "cluster",
- "options": [ ],
"query": "label_values(up{job=\"kube-proxy\"}, cluster)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "current": { },
- "datasource": "$datasource",
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 0,
"includeAll": true,
- "label": null,
- "multi": false,
+ "label": "instance",
"name": "instance",
- "options": [ ],
"query": "label_values(up{job=\"kube-proxy\", cluster=\"$cluster\", job=\"kube-proxy\"}, instance)",
"refresh": 2,
- "regex": "",
- "sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
}
]
},
@@ -1070,33 +624,7 @@
"from": "now-1h",
"to": "now"
},
- "timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
- },
"timezone": "UTC",
"title": "Kubernetes / Proxy",
- "uid": "632e265de029684c40b21cb76bca4f94",
- "version": 0
+ "uid": "632e265de029684c40b21cb76bca4f94"
}
diff --git a/assets/kubernetes/dashboards/scheduler.json b/assets/kubernetes/dashboards/scheduler.json
index adbc1cd..08dc644 100644
--- a/assets/kubernetes/dashboards/scheduler.json
+++ b/assets/kubernetes/dashboards/scheduler.json
@@ -1,875 +1,524 @@
{
- "__inputs": [ ],
- "__requires": [ ],
- "annotations": {
- "list": [ ]
- },
"editable": false,
- "gnetId": null,
- "graphTooltip": 0,
- "hideControls": false,
- "id": null,
- "links": [ ],
- "refresh": "10s",
- "rows": [
+ "panels": [
{
- "collapse": false,
- "collapsed": false,
- "panels": [
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "unit": "none"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "interval": "1m",
+ "options": {
+ "colorMode": "none"
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "cacheTimeout": null,
- "colorBackground": false,
- "colorValue": false,
- "colors": [
- "#299c46",
- "rgba(237, 129, 40, 0.89)",
- "#d44a3a"
- ],
- "datasource": "$datasource",
- "format": "none",
- "gauge": {
- "maxValue": 100,
- "minValue": 0,
- "show": false,
- "thresholdLabels": false,
- "thresholdMarkers": true
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "gridPos": { },
- "id": 2,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "rightSide": true
- },
- "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(up{cluster=\"$cluster\", job=\"kube-scheduler\"})",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "",
- "refId": "A"
- }
- ],
- "thresholds": "",
- "title": "Up",
- "tooltip": {
- "shared": false
- },
- "type": "singlestat",
- "valueFontSize": "80%",
- "valueMaps": [
- {
- "op": "=",
- "text": "N/A",
- "value": "null"
- }
- ],
- "valueName": "min"
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 3,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 5,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(rate(scheduler_e2e_scheduling_duration_seconds_count{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{cluster}} {{instance}} e2e",
- "refId": "A"
- },
- {
- "expr": "sum(rate(scheduler_binding_duration_seconds_count{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{cluster}} {{instance}} binding",
- "refId": "B"
- },
- {
- "expr": "sum(rate(scheduler_scheduling_algorithm_duration_seconds_count{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{cluster}} {{instance}} scheduling algorithm",
- "refId": "C"
- },
- {
- "expr": "sum(rate(scheduler_volume_scheduling_duration_seconds_count{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance)",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{cluster}} {{instance}} volume",
- "refId": "D"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Scheduling Rate",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 4,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
- },
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 5,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "histogram_quantile(0.99, sum(rate(scheduler_e2e_scheduling_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-scheduler\",instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{cluster}} {{instance}} e2e",
- "refId": "A"
- },
- {
- "expr": "histogram_quantile(0.99, sum(rate(scheduler_binding_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-scheduler\",instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{cluster}} {{instance}} binding",
- "refId": "B"
- },
- {
- "expr": "histogram_quantile(0.99, sum(rate(scheduler_scheduling_algorithm_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-scheduler\",instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{cluster}} {{instance}} scheduling algorithm",
- "refId": "C"
- },
- {
- "expr": "histogram_quantile(0.99, sum(rate(scheduler_volume_scheduling_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-scheduler\",instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{cluster}} {{instance}} volume",
- "refId": "D"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Scheduling latency 99th Quantile",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "sum(up{cluster=\"$cluster\", job=\"kube-scheduler\"})",
+ "instant": true
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
+ "title": "Up",
+ "type": "stat"
},
{
- "collapse": false,
- "collapsed": false,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 5,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 4,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\",code=~\"2..\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "2xx",
- "refId": "A"
- },
- {
- "expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\",code=~\"3..\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "3xx",
- "refId": "B"
- },
- {
- "expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\",code=~\"4..\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "4xx",
- "refId": "C"
- },
- {
- "expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\",code=~\"5..\"}[$__rate_interval]))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "5xx",
- "refId": "D"
- }
+ "unit": "ops"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 10,
+ "x": 4,
+ "y": 0
+ },
+ "id": 2,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Kube API Request Rate",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "ops",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "sum(rate(scheduler_e2e_scheduling_duration_seconds_count{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance)",
+ "legendFormat": "{{cluster}} {{instance}} e2e"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 6,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 8,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "histogram_quantile(0.99, sum(rate(rest_client_request_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\", verb=\"POST\"}[$__rate_interval])) by (verb, url, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{verb}} {{url}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Post Request Latency 99th Quantile",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
+ "expr": "sum(rate(scheduler_binding_duration_seconds_count{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance)",
+ "legendFormat": "{{cluster}} {{instance}} binding"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "sum(rate(scheduler_scheduling_algorithm_duration_seconds_count{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance)",
+ "legendFormat": "{{cluster}} {{instance}} scheduling algorithm"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "sum(rate(scheduler_volume_scheduling_duration_seconds_count{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance)",
+ "legendFormat": "{{cluster}} {{instance}} volume"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
+ "title": "Scheduling Rate",
+ "type": "timeseries"
},
{
- "collapse": false,
- "collapsed": false,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 7,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": true
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "histogram_quantile(0.99, sum(rate(rest_client_request_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\", verb=\"GET\"}[$__rate_interval])) by (verb, url, le))",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{verb}} {{url}}",
- "refId": "A"
- }
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 10,
+ "x": 14,
+ "y": 0
+ },
+ "id": 3,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Get Request Latency 99th Quantile",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
+ "expr": "histogram_quantile(0.99, sum(rate(scheduler_e2e_scheduling_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-scheduler\",instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance, le))",
+ "legendFormat": "{{cluster}} {{instance}} e2e"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "yaxes": [
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "s",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "histogram_quantile(0.99, sum(rate(scheduler_binding_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-scheduler\",instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance, le))",
+ "legendFormat": "{{cluster}} {{instance}} binding"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "histogram_quantile(0.99, sum(rate(scheduler_scheduling_algorithm_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-scheduler\",instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance, le))",
+ "legendFormat": "{{cluster}} {{instance}} scheduling algorithm"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "histogram_quantile(0.99, sum(rate(scheduler_volume_scheduling_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-scheduler\",instance=~\"$instance\"}[$__rate_interval])) by (cluster, instance, le))",
+ "legendFormat": "{{cluster}} {{instance}} volume"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
+ "title": "Scheduling latency 99th Quantile",
+ "type": "timeseries"
},
{
- "collapse": false,
- "collapsed": false,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 8,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 4,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "process_resident_memory_bytes{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
- }
+ "unit": "ops"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 7
+ },
+ "id": 4,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Memory",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ]
+ "expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\",code=~\"2..\"}[$__rate_interval]))",
+ "legendFormat": "2xx"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 9,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 4,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "rate(process_cpu_seconds_total{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\"}[$__rate_interval])",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "CPU usage",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "bytes",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\",code=~\"3..\"}[$__rate_interval]))",
+ "legendFormat": "3xx"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 1,
- "fillGradient": 0,
- "gridPos": { },
- "id": 10,
- "interval": "1m",
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "lines": true,
- "linewidth": 1,
- "links": [ ],
- "nullPointMode": "null",
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 4,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "go_goroutines{cluster=\"$cluster\", job=\"kube-scheduler\",instance=~\"$instance\"}",
- "format": "time_series",
- "intervalFactor": 2,
- "legendFormat": "{{instance}}",
- "refId": "A"
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Goroutines",
- "tooltip": {
- "shared": false,
- "sort": 0,
- "value_type": "individual"
+ "expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\",code=~\"4..\"}[$__rate_interval]))",
+ "legendFormat": "4xx"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "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
- }
- ]
+ "expr": "sum(rate(rest_client_requests_total{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\",code=~\"5..\"}[$__rate_interval]))",
+ "legendFormat": "5xx"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": false,
- "title": "Dashboard Row",
- "titleSize": "h6",
- "type": "row"
+ "title": "Kube API Request Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "ops"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 16,
+ "x": 8,
+ "y": 7
+ },
+ "id": 5,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "histogram_quantile(0.99, sum(rate(rest_client_request_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\", verb=\"POST\"}[$__rate_interval])) by (verb, url, le))",
+ "legendFormat": "{{verb}} {{url}}"
+ }
+ ],
+ "title": "Post Request Latency 99th Quantile",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 6,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "histogram_quantile(0.99, sum(rate(rest_client_request_duration_seconds_bucket{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\", verb=\"GET\"}[$__rate_interval])) by (verb, url, le))",
+ "legendFormat": "{{verb}} {{url}}"
+ }
+ ],
+ "title": "Get Request Latency 99th Quantile",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "bytes"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 21
+ },
+ "id": 7,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "process_resident_memory_bytes{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\"}",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 21
+ },
+ "id": 8,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "rate(process_cpu_seconds_total{cluster=\"$cluster\", job=\"kube-scheduler\", instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "CPU usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "short"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 21
+ },
+ "id": 9,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "go_goroutines{cluster=\"$cluster\", job=\"kube-scheduler\",instance=~\"$instance\"}",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Goroutines",
+ "type": "timeseries"
}
],
- "schemaVersion": 14,
- "style": "dark",
+ "refresh": "10s",
+ "schemaVersion": 36,
"tags": [
"kubernetes-mixin"
],
@@ -877,57 +526,43 @@
"list": [
{
"current": {
+ "selected": true,
"text": "default",
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
- "options": [ ],
"query": "prometheus",
- "refresh": 1,
"regex": "",
"type": "datasource"
},
{
- "allValue": null,
- "current": { },
- "datasource": "$datasource",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 2,
- "includeAll": false,
"label": "cluster",
- "multi": false,
"name": "cluster",
- "options": [ ],
"query": "label_values(up{job=\"kube-scheduler\"}, cluster)",
"refresh": 2,
- "regex": "",
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "current": { },
- "datasource": "$datasource",
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 0,
"includeAll": true,
- "label": null,
- "multi": false,
+ "label": "instance",
"name": "instance",
- "options": [ ],
"query": "label_values(up{job=\"kube-scheduler\", cluster=\"$cluster\"}, instance)",
"refresh": 2,
- "regex": "",
- "sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
}
]
},
@@ -935,33 +570,7 @@
"from": "now-1h",
"to": "now"
},
- "timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
- },
"timezone": "UTC",
"title": "Kubernetes / Scheduler",
- "uid": "2e6b6a3b4bddf1427b3a55aa1311c656",
- "version": 0
+ "uid": "2e6b6a3b4bddf1427b3a55aa1311c656"
}
diff --git a/assets/kubernetes/dashboards/workload-total.json b/assets/kubernetes/dashboards/workload-total.json
index 70b572c..8087958 100644
--- a/assets/kubernetes/dashboards/workload-total.json
+++ b/assets/kubernetes/dashboards/workload-total.json
@@ -1,1055 +1,471 @@
{
- "__inputs": [ ],
- "__requires": [ ],
- "annotations": {
- "list": [
- {
- "builtIn": 1,
- "datasource": "-- Grafana --",
- "enable": true,
- "hide": true,
- "iconColor": "rgba(0, 211, 255, 1)",
- "name": "Annotations & Alerts",
- "type": "dashboard"
- }
- ]
- },
- "editable": true,
- "gnetId": null,
- "graphTooltip": 0,
- "hideControls": false,
- "id": null,
- "links": [ ],
+ "editable": false,
"panels": [
{
- "collapse": false,
- "collapsed": false,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "unit": "Bps"
+ }
+ },
"gridPos": {
- "h": 1,
- "w": 24,
+ "h": 9,
+ "w": 12,
"x": 0,
"y": 0
},
- "id": 2,
- "panels": [ ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Current Bandwidth",
- "titleSize": "h6",
- "type": "row"
+ "id": 1,
+ "options": {
+ "displayMode": "basic",
+ "showUnfilled": false
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Current Rate of Bytes Received",
+ "type": "bargauge"
},
{
- "aliasColors": { },
- "bars": true,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "displayMode": "basic",
+ "showUnfilled": false
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Current Rate of Bytes Transmitted",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "unit": "Bps"
+ }
+ },
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
- "y": 1
+ "y": 9
},
"id": 3,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "sort": "current",
- "sortDesc": true,
- "total": false,
- "values": true
+ "options": {
+ "displayMode": "basic",
+ "showUnfilled": false
},
- "lines": false,
- "linewidth": 1,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "null",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sort_desc(sum(irate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{ pod }}",
- "refId": "A",
- "step": 10
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(avg(rate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "legendFormat": "__auto"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Current Rate of Bytes Received",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "series",
- "name": null,
- "show": false,
- "values": [
- "current"
- ]
- },
- "yaxes": [
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "title": "Average Rate of Bytes Received",
+ "type": "bargauge"
},
{
- "aliasColors": { },
- "bars": true,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ },
+ "unit": "Bps"
+ }
+ },
"gridPos": {
"h": 9,
"w": 12,
"x": 12,
- "y": 1
+ "y": 9
},
"id": 4,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "sort": "current",
- "sortDesc": true,
- "total": false,
- "values": true
+ "options": {
+ "displayMode": "basic",
+ "showUnfilled": false
},
- "lines": false,
- "linewidth": 1,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "null",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": false,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sort_desc(sum(irate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{ pod }}",
- "refId": "A",
- "step": 10
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(avg(rate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "legendFormat": "__auto"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Current Rate of Bytes Transmitted",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
+ "title": "Average Rate of Bytes Transmitted",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
},
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "series",
- "name": null,
- "show": false,
- "values": [
- "current"
- ]
- },
- "yaxes": [
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "binBps"
}
- ]
- },
- {
- "collapse": true,
- "collapsed": true,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 10
},
- "id": 5,
- "panels": [
- {
- "aliasColors": { },
- "bars": true,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 11
- },
- "id": 6,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "sort": "current",
- "sortDesc": true,
- "total": false,
- "values": true
- },
- "lines": false,
- "linewidth": 1,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "null",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(avg(irate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{ pod }}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Average Rate of Bytes Received",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "series",
- "name": null,
- "show": false,
- "values": [
- "current"
- ]
- },
- "yaxes": [
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- },
- {
- "aliasColors": { },
- "bars": true,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 12,
- "y": 11
- },
- "id": 7,
- "legend": {
- "alignAsTable": true,
- "avg": false,
- "current": true,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": true,
- "show": true,
- "sideWidth": null,
- "sort": "current",
- "sortDesc": true,
- "total": false,
- "values": true
- },
- "lines": false,
- "linewidth": 1,
- "links": [ ],
- "minSpan": 24,
- "nullPointMode": "null",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 24,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(avg(irate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{ pod }}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Average Rate of Bytes Transmitted",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "series",
- "name": null,
- "show": false,
- "values": [
- "current"
- ]
- },
- "yaxes": [
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
- }
- ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Average Bandwidth",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "collapse": false,
- "collapsed": false,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 11
- },
- "id": 8,
- "panels": [ ],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Bandwidth HIstory",
- "titleSize": "h6",
- "type": "row"
- },
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
"gridPos": {
"h": 9,
"w": 12,
"x": 0,
- "y": 12
+ "y": 18
},
- "id": 9,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "id": 5,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sort_desc(sum(irate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{pod}}",
- "refId": "A",
- "step": 10
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_receive_bytes_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "legendFormat": "__auto"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Receive Bandwidth",
- "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": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "binBps"
+ }
+ },
"gridPos": {
"h": 9,
"w": 12,
"x": 12,
- "y": 12
+ "y": 18
},
- "id": 10,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
+ "id": 6,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
},
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
+ "pluginVersion": "v10.4.0",
"targets": [
{
- "expr": "sort_desc(sum(irate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{pod}}",
- "refId": "A",
- "step": 10
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_transmit_bytes_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "legendFormat": "__auto"
}
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
"title": "Transmit Bandwidth",
- "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": 0,
- "show": true
- },
- {
- "format": "Bps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "type": "timeseries"
},
{
- "collapse": true,
- "collapsed": true,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 21
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
},
- "id": 11,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 22
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "id": 12,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(sum(irate(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{pod}}",
- "refId": "A",
- "step": 10
- }
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 27
+ },
+ "id": 7,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 12,
- "y": 22
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "id": 13,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(sum(irate(container_network_transmit_packets_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{pod}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "sort_desc(sum(rate(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Packets",
- "titleSize": "h6",
- "type": "row"
+ "title": "Rate of Received Packets",
+ "type": "timeseries"
},
{
- "collapse": true,
- "collapsed": true,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 22
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
},
- "id": 14,
- "panels": [
- {
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 0,
- "y": 23
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
},
- "id": 15,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(sum(irate(container_network_receive_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{pod}}",
- "refId": "A",
- "step": 10
- }
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 27
+ },
+ "id": 8,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Received Packets Dropped",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
},
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
{
- "aliasColors": { },
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "$datasource",
- "fill": 2,
- "fillGradient": 0,
- "gridPos": {
- "h": 9,
- "w": 12,
- "x": 12,
- "y": 23
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "id": 16,
- "legend": {
- "alignAsTable": false,
- "avg": false,
- "current": false,
- "hideEmpty": true,
- "hideZero": true,
- "max": false,
- "min": false,
- "rightSide": false,
- "show": true,
- "sideWidth": null,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 2,
- "links": [ ],
- "minSpan": 12,
- "nullPointMode": "connected",
- "paceLength": 10,
- "percentage": false,
- "pointradius": 5,
- "points": false,
- "renderer": "flot",
- "repeat": null,
- "seriesOverrides": [ ],
- "spaceLength": 10,
- "span": 12,
- "stack": true,
- "steppedLine": false,
- "targets": [
- {
- "expr": "sort_desc(sum(irate(container_network_transmit_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$interval:$resolution])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=\"$type\"}) by (pod))\n",
- "format": "time_series",
- "intervalFactor": 1,
- "legendFormat": "{{pod}}",
- "refId": "A",
- "step": 10
- }
- ],
- "thresholds": [ ],
- "timeFrom": null,
- "timeShift": null,
- "title": "Rate of Transmitted Packets Dropped",
- "tooltip": {
- "shared": true,
- "sort": 2,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": [ ]
- },
- "yaxes": [
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- },
- {
- "format": "pps",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": 0,
- "show": true
- }
- ]
+ "expr": "sort_desc(sum(rate(container_network_transmit_packets_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "legendFormat": "__auto"
}
],
- "repeat": null,
- "repeatIteration": null,
- "repeatRowId": null,
- "showTitle": true,
- "title": "Errors",
- "titleSize": "h6",
- "type": "row"
+ "title": "Rate of Transmitted Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 36
+ },
+ "id": 9,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_receive_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Received Packets Dropped",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "showPoints": "never",
+ "spanNulls": true
+ },
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 36
+ },
+ "id": 10,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "asTable": true,
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "v10.4.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sort_desc(sum(rate(container_network_transmit_packets_dropped_total{job=\"cadvisor\", cluster=\"$cluster\",namespace=~\"$namespace\"}[$__rate_interval])\n* on (namespace,pod)\ngroup_left(workload,workload_type) namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\", workload_type=~\"$type\"}) by (pod))\n",
+ "legendFormat": "__auto"
+ }
+ ],
+ "title": "Rate of Transmitted Packets Dropped",
+ "type": "timeseries"
}
],
"refresh": "10s",
- "rows": [ ],
- "schemaVersion": 18,
- "style": "dark",
+ "schemaVersion": 36,
"tags": [
"kubernetes-mixin"
],
@@ -1057,197 +473,77 @@
"list": [
{
"current": {
+ "selected": true,
"text": "default",
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
- "options": [ ],
"query": "prometheus",
- "refresh": 1,
"regex": "",
"type": "datasource"
},
{
- "allValue": null,
- "current": { },
- "datasource": "$datasource",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 2,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "cluster",
"name": "cluster",
- "options": [ ],
"query": "label_values(kube_pod_info{job=\"kube-state-metrics\"}, cluster)",
"refresh": 2,
- "regex": "",
- "sort": 0,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "sort": 1,
+ "type": "query"
},
{
"allValue": ".+",
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
"current": {
+ "selected": false,
"text": "kube-system",
"value": "kube-system"
},
- "datasource": "$datasource",
- "definition": "label_values(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\"}, namespace)",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
"hide": 0,
"includeAll": true,
- "label": null,
- "multi": false,
+ "label": "namespace",
"name": "namespace",
- "options": [ ],
- "query": "label_values(container_network_receive_packets_total{job=\"cadvisor\", cluster=\"$cluster\"}, namespace)",
+ "query": "label_values(container_network_receive_packets_total{cluster=\"$cluster\"}, namespace)",
"refresh": 2,
- "regex": "",
- "skipUrlSync": false,
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
- "current": {
- "text": "",
- "value": ""
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
- "definition": "label_values(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\"}, workload)",
"hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "label": "workload",
"name": "workload",
- "options": [ ],
- "query": "label_values(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\"}, workload)",
+ "query": "label_values(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=~\"$namespace\", workload=~\".+\"}, workload)",
"refresh": 2,
- "regex": "",
- "skipUrlSync": false,
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
+ "type": "query"
},
{
- "allValue": null,
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
- "current": {
- "text": "deployment",
- "value": "deployment"
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
},
- "datasource": "$datasource",
- "definition": "label_values(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\"}, workload_type)",
"hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
+ "includeAll": true,
+ "label": "workload_type",
"name": "type",
- "options": [ ],
- "query": "label_values(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\",namespace=~\"$namespace\", workload=~\"$workload\"}, workload_type)",
+ "query": "label_values(namespace_workload_pod:kube_pod_owner:relabel{cluster=\"$cluster\", namespace=~\"$namespace\", workload=~\"$workload\"}, workload_type)",
"refresh": 2,
- "regex": "",
- "skipUrlSync": false,
- "sort": 0,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "query",
- "useTags": false
- },
- {
- "allValue": null,
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
- "current": {
- "text": "5m",
- "value": "5m"
- },
- "datasource": "$datasource",
- "hide": 0,
- "includeAll": false,
- "label": null,
- "multi": false,
- "name": "resolution",
- "options": [
- {
- "selected": false,
- "text": "30s",
- "value": "30s"
- },
- {
- "selected": true,
- "text": "5m",
- "value": "5m"
- },
- {
- "selected": false,
- "text": "1h",
- "value": "1h"
- }
- ],
- "query": "30s,5m,1h",
- "refresh": 2,
- "regex": "",
- "skipUrlSync": false,
"sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "interval",
- "useTags": false
- },
- {
- "allValue": null,
- "auto": false,
- "auto_count": 30,
- "auto_min": "10s",
- "current": {
- "text": "5m",
- "value": "5m"
- },
- "datasource": "$datasource",
- "hide": 2,
- "includeAll": false,
- "label": null,
- "multi": false,
- "name": "interval",
- "options": [
- {
- "selected": true,
- "text": "4h",
- "value": "4h"
- }
- ],
- "query": "4h",
- "refresh": 2,
- "regex": "",
- "skipUrlSync": false,
- "sort": 1,
- "tagValuesQuery": "",
- "tags": [ ],
- "tagsQuery": "",
- "type": "interval",
- "useTags": false
+ "type": "query"
}
]
},
@@ -1255,33 +551,7 @@
"from": "now-1h",
"to": "now"
},
- "timepicker": {
- "refresh_intervals": [
- "5s",
- "10s",
- "30s",
- "1m",
- "5m",
- "15m",
- "30m",
- "1h",
- "2h",
- "1d"
- ],
- "time_options": [
- "5m",
- "15m",
- "1h",
- "6h",
- "12h",
- "24h",
- "2d",
- "7d",
- "30d"
- ]
- },
"timezone": "UTC",
"title": "Kubernetes / Networking / Workload",
- "uid": "728bf77cc1166d2f3133bf25846876cc",
- "version": 0
+ "uid": "728bf77cc1166d2f3133bf25846876cc"
}
diff --git a/assets/kubernetes/rules.yaml b/assets/kubernetes/rules.yaml
index fea44f8..2af056a 100644
--- a/assets/kubernetes/rules.yaml
+++ b/assets/kubernetes/rules.yaml
@@ -1,321 +1,4 @@
groups:
-- name: kube-apiserver-burnrate.rules
- rules:
- - expr: |
- (
- (
- # too slow
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_count{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward"}[1d]))
- -
- (
- (
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope=~"resource|",le="1"}[1d]))
- or
- vector(0)
- )
- +
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="namespace",le="5"}[1d]))
- +
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="cluster",le="30"}[1d]))
- )
- )
- +
- # errors
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET",code=~"5.."}[1d]))
- )
- /
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET"}[1d]))
- labels:
- verb: read
- record: apiserver_request:burnrate1d
- - expr: |
- (
- (
- # too slow
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_count{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward"}[1h]))
- -
- (
- (
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope=~"resource|",le="1"}[1h]))
- or
- vector(0)
- )
- +
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="namespace",le="5"}[1h]))
- +
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="cluster",le="30"}[1h]))
- )
- )
- +
- # errors
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET",code=~"5.."}[1h]))
- )
- /
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET"}[1h]))
- labels:
- verb: read
- record: apiserver_request:burnrate1h
- - expr: |
- (
- (
- # too slow
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_count{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward"}[2h]))
- -
- (
- (
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope=~"resource|",le="1"}[2h]))
- or
- vector(0)
- )
- +
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="namespace",le="5"}[2h]))
- +
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="cluster",le="30"}[2h]))
- )
- )
- +
- # errors
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET",code=~"5.."}[2h]))
- )
- /
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET"}[2h]))
- labels:
- verb: read
- record: apiserver_request:burnrate2h
- - expr: |
- (
- (
- # too slow
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_count{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward"}[30m]))
- -
- (
- (
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope=~"resource|",le="1"}[30m]))
- or
- vector(0)
- )
- +
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="namespace",le="5"}[30m]))
- +
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="cluster",le="30"}[30m]))
- )
- )
- +
- # errors
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET",code=~"5.."}[30m]))
- )
- /
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET"}[30m]))
- labels:
- verb: read
- record: apiserver_request:burnrate30m
- - expr: |
- (
- (
- # too slow
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_count{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward"}[3d]))
- -
- (
- (
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope=~"resource|",le="1"}[3d]))
- or
- vector(0)
- )
- +
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="namespace",le="5"}[3d]))
- +
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="cluster",le="30"}[3d]))
- )
- )
- +
- # errors
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET",code=~"5.."}[3d]))
- )
- /
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET"}[3d]))
- labels:
- verb: read
- record: apiserver_request:burnrate3d
- - expr: |
- (
- (
- # too slow
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_count{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward"}[5m]))
- -
- (
- (
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope=~"resource|",le="1"}[5m]))
- or
- vector(0)
- )
- +
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="namespace",le="5"}[5m]))
- +
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="cluster",le="30"}[5m]))
- )
- )
- +
- # errors
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET",code=~"5.."}[5m]))
- )
- /
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET"}[5m]))
- labels:
- verb: read
- record: apiserver_request:burnrate5m
- - expr: |
- (
- (
- # too slow
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_count{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward"}[6h]))
- -
- (
- (
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope=~"resource|",le="1"}[6h]))
- or
- vector(0)
- )
- +
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="namespace",le="5"}[6h]))
- +
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="cluster",le="30"}[6h]))
- )
- )
- +
- # errors
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET",code=~"5.."}[6h]))
- )
- /
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET"}[6h]))
- labels:
- verb: read
- record: apiserver_request:burnrate6h
- - expr: |
- (
- (
- # too slow
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_count{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward"}[1d]))
- -
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward",le="1"}[1d]))
- )
- +
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[1d]))
- )
- /
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE"}[1d]))
- labels:
- verb: write
- record: apiserver_request:burnrate1d
- - expr: |
- (
- (
- # too slow
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_count{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward"}[1h]))
- -
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward",le="1"}[1h]))
- )
- +
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[1h]))
- )
- /
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE"}[1h]))
- labels:
- verb: write
- record: apiserver_request:burnrate1h
- - expr: |
- (
- (
- # too slow
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_count{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward"}[2h]))
- -
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward",le="1"}[2h]))
- )
- +
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[2h]))
- )
- /
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE"}[2h]))
- labels:
- verb: write
- record: apiserver_request:burnrate2h
- - expr: |
- (
- (
- # too slow
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_count{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward"}[30m]))
- -
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward",le="1"}[30m]))
- )
- +
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[30m]))
- )
- /
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE"}[30m]))
- labels:
- verb: write
- record: apiserver_request:burnrate30m
- - expr: |
- (
- (
- # too slow
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_count{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward"}[3d]))
- -
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward",le="1"}[3d]))
- )
- +
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[3d]))
- )
- /
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE"}[3d]))
- labels:
- verb: write
- record: apiserver_request:burnrate3d
- - expr: |
- (
- (
- # too slow
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_count{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward"}[5m]))
- -
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward",le="1"}[5m]))
- )
- +
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[5m]))
- )
- /
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE"}[5m]))
- labels:
- verb: write
- record: apiserver_request:burnrate5m
- - expr: |
- (
- (
- # too slow
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_count{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward"}[6h]))
- -
- sum by (cluster) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward",le="1"}[6h]))
- )
- +
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[6h]))
- )
- /
- sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE"}[6h]))
- labels:
- verb: write
- record: apiserver_request:burnrate6h
-- name: kube-apiserver-histogram.rules
- rules:
- - expr: |
- histogram_quantile(0.99, sum by (cluster, le, resource) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward"}[5m]))) > 0
- labels:
- quantile: "0.99"
- verb: read
- record: cluster_quantile:apiserver_request_slo_duration_seconds:histogram_quantile
- - expr: |
- histogram_quantile(0.99, sum by (cluster, le, resource) (rate(apiserver_request_slo_duration_seconds_bucket{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward"}[5m]))) > 0
- labels:
- quantile: "0.99"
- verb: write
- record: cluster_quantile:apiserver_request_slo_duration_seconds:histogram_quantile
- interval: 3m
name: kube-apiserver-availability.rules
rules:
@@ -333,39 +16,39 @@ groups:
verb: write
record: code:apiserver_request_total:increase30d
- expr: |
- sum by (cluster, verb, scope) (increase(apiserver_request_slo_duration_seconds_count{job="kube-apiserver"}[1h]))
- record: cluster_verb_scope:apiserver_request_slo_duration_seconds_count:increase1h
+ sum by (cluster, verb, scope) (increase(apiserver_request_sli_duration_seconds_count{job="kube-apiserver"}[1h]))
+ record: cluster_verb_scope:apiserver_request_sli_duration_seconds_count:increase1h
- expr: |
- sum by (cluster, verb, scope) (avg_over_time(cluster_verb_scope:apiserver_request_slo_duration_seconds_count:increase1h[30d]) * 24 * 30)
- record: cluster_verb_scope:apiserver_request_slo_duration_seconds_count:increase30d
+ sum by (cluster, verb, scope) (avg_over_time(cluster_verb_scope:apiserver_request_sli_duration_seconds_count:increase1h[30d]) * 24 * 30)
+ record: cluster_verb_scope:apiserver_request_sli_duration_seconds_count:increase30d
- expr: |
- sum by (cluster, verb, scope, le) (increase(apiserver_request_slo_duration_seconds_bucket[1h]))
- record: cluster_verb_scope_le:apiserver_request_slo_duration_seconds_bucket:increase1h
+ sum by (cluster, verb, scope, le) (increase(apiserver_request_sli_duration_seconds_bucket[1h]))
+ record: cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase1h
- expr: |
- sum by (cluster, verb, scope, le) (avg_over_time(cluster_verb_scope_le:apiserver_request_slo_duration_seconds_bucket:increase1h[30d]) * 24 * 30)
- record: cluster_verb_scope_le:apiserver_request_slo_duration_seconds_bucket:increase30d
+ sum by (cluster, verb, scope, le) (avg_over_time(cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase1h[30d]) * 24 * 30)
+ record: cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d
- expr: |
1 - (
(
# write too slow
- sum by (cluster) (cluster_verb_scope:apiserver_request_slo_duration_seconds_count:increase30d{verb=~"POST|PUT|PATCH|DELETE"})
+ sum by (cluster) (cluster_verb_scope:apiserver_request_sli_duration_seconds_count:increase30d{verb=~"POST|PUT|PATCH|DELETE"})
-
- sum by (cluster) (cluster_verb_scope_le:apiserver_request_slo_duration_seconds_bucket:increase30d{verb=~"POST|PUT|PATCH|DELETE",le="1"})
+ sum by (cluster) (cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d{verb=~"POST|PUT|PATCH|DELETE",le="1"})
) +
(
# read too slow
- sum by (cluster) (cluster_verb_scope:apiserver_request_slo_duration_seconds_count:increase30d{verb=~"LIST|GET"})
+ sum by (cluster) (cluster_verb_scope:apiserver_request_sli_duration_seconds_count:increase30d{verb=~"LIST|GET"})
-
(
(
- sum by (cluster) (cluster_verb_scope_le:apiserver_request_slo_duration_seconds_bucket:increase30d{verb=~"LIST|GET",scope=~"resource|",le="1"})
+ sum by (cluster) (cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d{verb=~"LIST|GET",scope=~"resource|",le="1"})
or
vector(0)
)
+
- sum by (cluster) (cluster_verb_scope_le:apiserver_request_slo_duration_seconds_bucket:increase30d{verb=~"LIST|GET",scope="namespace",le="5"})
+ sum by (cluster) (cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d{verb=~"LIST|GET",scope="namespace",le="5"})
+
- sum by (cluster) (cluster_verb_scope_le:apiserver_request_slo_duration_seconds_bucket:increase30d{verb=~"LIST|GET",scope="cluster",le="30"})
+ sum by (cluster) (cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d{verb=~"LIST|GET",scope="cluster",le="30"})
)
) +
# errors
@@ -378,19 +61,19 @@ groups:
record: apiserver_request:availability30d
- expr: |
1 - (
- sum by (cluster) (cluster_verb_scope:apiserver_request_slo_duration_seconds_count:increase30d{verb=~"LIST|GET"})
+ sum by (cluster) (cluster_verb_scope:apiserver_request_sli_duration_seconds_count:increase30d{verb=~"LIST|GET"})
-
(
# too slow
(
- sum by (cluster) (cluster_verb_scope_le:apiserver_request_slo_duration_seconds_bucket:increase30d{verb=~"LIST|GET",scope=~"resource|",le="1"})
+ sum by (cluster) (cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d{verb=~"LIST|GET",scope=~"resource|",le="1"})
or
vector(0)
)
+
- sum by (cluster) (cluster_verb_scope_le:apiserver_request_slo_duration_seconds_bucket:increase30d{verb=~"LIST|GET",scope="namespace",le="5"})
+ sum by (cluster) (cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d{verb=~"LIST|GET",scope="namespace",le="5"})
+
- sum by (cluster) (cluster_verb_scope_le:apiserver_request_slo_duration_seconds_bucket:increase30d{verb=~"LIST|GET",scope="cluster",le="30"})
+ sum by (cluster) (cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d{verb=~"LIST|GET",scope="cluster",le="30"})
)
+
# errors
@@ -405,9 +88,9 @@ groups:
1 - (
(
# too slow
- sum by (cluster) (cluster_verb_scope:apiserver_request_slo_duration_seconds_count:increase30d{verb=~"POST|PUT|PATCH|DELETE"})
+ sum by (cluster) (cluster_verb_scope:apiserver_request_sli_duration_seconds_count:increase30d{verb=~"POST|PUT|PATCH|DELETE"})
-
- sum by (cluster) (cluster_verb_scope_le:apiserver_request_slo_duration_seconds_bucket:increase30d{verb=~"POST|PUT|PATCH|DELETE",le="1"})
+ sum by (cluster) (cluster_verb_scope_le:apiserver_request_sli_duration_seconds_bucket:increase30d{verb=~"POST|PUT|PATCH|DELETE",le="1"})
)
+
# errors
@@ -440,7 +123,324 @@ groups:
- expr: |
sum by (cluster, code, verb) (increase(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET|POST|PUT|PATCH|DELETE",code=~"5.."}[1h]))
record: code_verb:apiserver_request_total:increase1h
-- name: k8s.rules
+- name: kube-apiserver-burnrate.rules
+ rules:
+ - expr: |
+ (
+ (
+ # too slow
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_count{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward"}[1d]))
+ -
+ (
+ (
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope=~"resource|",le="1"}[1d]))
+ or
+ vector(0)
+ )
+ +
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="namespace",le="5"}[1d]))
+ +
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="cluster",le="30"}[1d]))
+ )
+ )
+ +
+ # errors
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET",code=~"5.."}[1d]))
+ )
+ /
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET"}[1d]))
+ labels:
+ verb: read
+ record: apiserver_request:burnrate1d
+ - expr: |
+ (
+ (
+ # too slow
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_count{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward"}[1h]))
+ -
+ (
+ (
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope=~"resource|",le="1"}[1h]))
+ or
+ vector(0)
+ )
+ +
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="namespace",le="5"}[1h]))
+ +
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="cluster",le="30"}[1h]))
+ )
+ )
+ +
+ # errors
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET",code=~"5.."}[1h]))
+ )
+ /
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET"}[1h]))
+ labels:
+ verb: read
+ record: apiserver_request:burnrate1h
+ - expr: |
+ (
+ (
+ # too slow
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_count{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward"}[2h]))
+ -
+ (
+ (
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope=~"resource|",le="1"}[2h]))
+ or
+ vector(0)
+ )
+ +
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="namespace",le="5"}[2h]))
+ +
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="cluster",le="30"}[2h]))
+ )
+ )
+ +
+ # errors
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET",code=~"5.."}[2h]))
+ )
+ /
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET"}[2h]))
+ labels:
+ verb: read
+ record: apiserver_request:burnrate2h
+ - expr: |
+ (
+ (
+ # too slow
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_count{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward"}[30m]))
+ -
+ (
+ (
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope=~"resource|",le="1"}[30m]))
+ or
+ vector(0)
+ )
+ +
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="namespace",le="5"}[30m]))
+ +
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="cluster",le="30"}[30m]))
+ )
+ )
+ +
+ # errors
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET",code=~"5.."}[30m]))
+ )
+ /
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET"}[30m]))
+ labels:
+ verb: read
+ record: apiserver_request:burnrate30m
+ - expr: |
+ (
+ (
+ # too slow
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_count{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward"}[3d]))
+ -
+ (
+ (
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope=~"resource|",le="1"}[3d]))
+ or
+ vector(0)
+ )
+ +
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="namespace",le="5"}[3d]))
+ +
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="cluster",le="30"}[3d]))
+ )
+ )
+ +
+ # errors
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET",code=~"5.."}[3d]))
+ )
+ /
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET"}[3d]))
+ labels:
+ verb: read
+ record: apiserver_request:burnrate3d
+ - expr: |
+ (
+ (
+ # too slow
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_count{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward"}[5m]))
+ -
+ (
+ (
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope=~"resource|",le="1"}[5m]))
+ or
+ vector(0)
+ )
+ +
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="namespace",le="5"}[5m]))
+ +
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="cluster",le="30"}[5m]))
+ )
+ )
+ +
+ # errors
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET",code=~"5.."}[5m]))
+ )
+ /
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET"}[5m]))
+ labels:
+ verb: read
+ record: apiserver_request:burnrate5m
+ - expr: |
+ (
+ (
+ # too slow
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_count{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward"}[6h]))
+ -
+ (
+ (
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope=~"resource|",le="1"}[6h]))
+ or
+ vector(0)
+ )
+ +
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="namespace",le="5"}[6h]))
+ +
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward",scope="cluster",le="30"}[6h]))
+ )
+ )
+ +
+ # errors
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET",code=~"5.."}[6h]))
+ )
+ /
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"LIST|GET"}[6h]))
+ labels:
+ verb: read
+ record: apiserver_request:burnrate6h
+ - expr: |
+ (
+ (
+ # too slow
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_count{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward"}[1d]))
+ -
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward",le="1"}[1d]))
+ )
+ +
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[1d]))
+ )
+ /
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE"}[1d]))
+ labels:
+ verb: write
+ record: apiserver_request:burnrate1d
+ - expr: |
+ (
+ (
+ # too slow
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_count{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward"}[1h]))
+ -
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward",le="1"}[1h]))
+ )
+ +
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[1h]))
+ )
+ /
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE"}[1h]))
+ labels:
+ verb: write
+ record: apiserver_request:burnrate1h
+ - expr: |
+ (
+ (
+ # too slow
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_count{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward"}[2h]))
+ -
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward",le="1"}[2h]))
+ )
+ +
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[2h]))
+ )
+ /
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE"}[2h]))
+ labels:
+ verb: write
+ record: apiserver_request:burnrate2h
+ - expr: |
+ (
+ (
+ # too slow
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_count{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward"}[30m]))
+ -
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward",le="1"}[30m]))
+ )
+ +
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[30m]))
+ )
+ /
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE"}[30m]))
+ labels:
+ verb: write
+ record: apiserver_request:burnrate30m
+ - expr: |
+ (
+ (
+ # too slow
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_count{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward"}[3d]))
+ -
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward",le="1"}[3d]))
+ )
+ +
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[3d]))
+ )
+ /
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE"}[3d]))
+ labels:
+ verb: write
+ record: apiserver_request:burnrate3d
+ - expr: |
+ (
+ (
+ # too slow
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_count{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward"}[5m]))
+ -
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward",le="1"}[5m]))
+ )
+ +
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[5m]))
+ )
+ /
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE"}[5m]))
+ labels:
+ verb: write
+ record: apiserver_request:burnrate5m
+ - expr: |
+ (
+ (
+ # too slow
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_count{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward"}[6h]))
+ -
+ sum by (cluster) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward",le="1"}[6h]))
+ )
+ +
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",code=~"5.."}[6h]))
+ )
+ /
+ sum by (cluster) (rate(apiserver_request_total{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE"}[6h]))
+ labels:
+ verb: write
+ record: apiserver_request:burnrate6h
+- name: kube-apiserver-histogram.rules
+ rules:
+ - expr: |
+ histogram_quantile(0.99, sum by (cluster, le, resource) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"LIST|GET",subresource!~"proxy|attach|log|exec|portforward"}[5m]))) > 0
+ labels:
+ quantile: "0.99"
+ verb: read
+ record: cluster_quantile:apiserver_request_sli_duration_seconds:histogram_quantile
+ - expr: |
+ histogram_quantile(0.99, sum by (cluster, le, resource) (rate(apiserver_request_sli_duration_seconds_bucket{job="kube-apiserver",verb=~"POST|PUT|PATCH|DELETE",subresource!~"proxy|attach|log|exec|portforward"}[5m]))) > 0
+ labels:
+ quantile: "0.99"
+ verb: write
+ record: cluster_quantile:apiserver_request_sli_duration_seconds:histogram_quantile
+- name: k8s.rules.container_cpu_usage_seconds_total
rules:
- expr: |
sum by (cluster, namespace, pod, container) (
@@ -449,30 +449,40 @@ groups:
1, max by(cluster, namespace, pod, node) (kube_pod_info{node!=""})
)
record: node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate
+- name: k8s.rules.container_memory_working_set_bytes
+ rules:
- expr: |
container_memory_working_set_bytes{job="cadvisor", image!=""}
* on (cluster, namespace, pod) group_left(node) topk by(cluster, namespace, pod) (1,
max by(cluster, namespace, pod, node) (kube_pod_info{node!=""})
)
record: node_namespace_pod_container:container_memory_working_set_bytes
+- name: k8s.rules.container_memory_rss
+ rules:
- expr: |
container_memory_rss{job="cadvisor", image!=""}
* on (cluster, namespace, pod) group_left(node) topk by(cluster, namespace, pod) (1,
max by(cluster, namespace, pod, node) (kube_pod_info{node!=""})
)
record: node_namespace_pod_container:container_memory_rss
+- name: k8s.rules.container_memory_cache
+ rules:
- expr: |
container_memory_cache{job="cadvisor", image!=""}
* on (cluster, namespace, pod) group_left(node) topk by(cluster, namespace, pod) (1,
max by(cluster, namespace, pod, node) (kube_pod_info{node!=""})
)
record: node_namespace_pod_container:container_memory_cache
+- name: k8s.rules.container_memory_swap
+ rules:
- expr: |
container_memory_swap{job="cadvisor", image!=""}
* on (cluster, namespace, pod) group_left(node) topk by(cluster, namespace, pod) (1,
max by(cluster, namespace, pod, node) (kube_pod_info{node!=""})
)
record: node_namespace_pod_container:container_memory_swap
+- name: k8s.rules.container_resource
+ rules:
- expr: |
kube_pod_container_resource_requests{resource="memory",job="kube-state-metrics"} * on (namespace, pod, cluster)
group_left() max by (namespace, pod, cluster) (
@@ -541,6 +551,8 @@ groups:
)
)
record: namespace_cpu:kube_pod_container_resource_limits:sum
+- name: k8s.rules.pod_owner
+ rules:
- expr: |
max by (cluster, namespace, workload, pod) (
label_replace(
@@ -646,8 +658,8 @@ groups:
- expr: |
count by (cluster, node) (
node_cpu_seconds_total{mode="idle",job="node-exporter"}
- * on (namespace, pod) group_left(node)
- topk by(namespace, pod) (1, node_namespace_pod:kube_pod_info:)
+ * on (cluster, namespace, pod) group_left(node)
+ topk by(cluster, namespace, pod) (1, node_namespace_pod:kube_pod_info:)
)
record: node:node_num_cpu:sum
- expr: |
diff --git a/assets/memcached/dashboards/memcached-overview.json b/assets/memcached/dashboards/memcached-overview.json
index 7a7bfb7..c3fc753 100644
--- a/assets/memcached/dashboards/memcached-overview.json
+++ b/assets/memcached/dashboards/memcached-overview.json
@@ -4,7 +4,7 @@
},
"editable": true,
"gnetId": null,
- "graphTooltip": 0,
+ "graphTooltip": 1,
"hideControls": false,
"links": [ ],
"refresh": "10s",
@@ -47,7 +47,6 @@
{
"expr": "sum(rate(memcached_commands_total{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\", command=\"get\", status=\"hit\"}[$__rate_interval])) / sum(rate(memcached_commands_total{cluster=~\"$cluster\", job=~\"$job\", command=\"get\"}[$__rate_interval]))",
"format": "time_series",
- "intervalFactor": 2,
"legendFormat": "Hit Rate",
"legendLink": null
}
@@ -122,7 +121,6 @@
{
"expr": "topk(20,\n max by (cluster, job, instance) (\n memcached_current_connections{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\"} / memcached_max_connections{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\"}\n))\n",
"format": "time_series",
- "intervalFactor": 2,
"legendFormat": "{{ cluster }} / {{ job }} / {{ instance }}",
"legendLink": null
}
@@ -209,7 +207,6 @@
{
"expr": "sum by(command, status) (rate(memcached_commands_total{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
"format": "time_series",
- "intervalFactor": 2,
"legendFormat": "{{command}} {{status}}",
"legendLink": null
}
@@ -284,7 +281,6 @@
{
"expr": "sum by(instance) (rate(memcached_items_evicted_total{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
"format": "time_series",
- "intervalFactor": 2,
"legendFormat": "{{instance}}",
"legendLink": null
}
@@ -359,7 +355,6 @@
{
"expr": "sum by(instance) (rate(memcached_items_total{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
"format": "time_series",
- "intervalFactor": 2,
"legendFormat": "{{instance}}",
"legendLink": null
}
@@ -446,7 +441,6 @@
{
"expr": "sum by (instance) (\n rate(memcached_process_user_cpu_seconds_total{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) +\n rate(memcached_process_system_cpu_seconds_total{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])\n)\n",
"format": "time_series",
- "intervalFactor": 2,
"legendFormat": "{{instance}}",
"legendLink": null
}
@@ -521,7 +515,6 @@
{
"expr": "sum by(instance) (memcached_current_bytes{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\"})",
"format": "time_series",
- "intervalFactor": 2,
"legendFormat": "{{instance}}",
"legendLink": null
}
@@ -596,7 +589,6 @@
{
"expr": "sum by(instance) (memcached_current_items{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\"})",
"format": "time_series",
- "intervalFactor": 2,
"legendFormat": "{{instance}}",
"legendLink": null
}
@@ -683,14 +675,12 @@
{
"expr": "sum by(instance) (memcached_current_connections{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\"})",
"format": "time_series",
- "intervalFactor": 2,
"legendFormat": "{{instance}}",
"legendLink": null
},
{
"expr": "min(memcached_max_connections{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\"})",
"format": "time_series",
- "intervalFactor": 2,
"legendFormat": "Max Connections (min setting across all instances)",
"legendLink": null
}
@@ -765,7 +755,6 @@
{
"expr": "sum by(instance) (rate(memcached_connections_total{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
"format": "time_series",
- "intervalFactor": 2,
"legendFormat": "{{instance}}",
"legendLink": null
}
@@ -840,7 +829,6 @@
{
"expr": "sum by(instance) (rate(memcached_read_bytes_total{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
"format": "time_series",
- "intervalFactor": 2,
"legendFormat": "{{instance}}",
"legendLink": null
}
@@ -915,7 +903,6 @@
{
"expr": "sum by(instance) (rate(memcached_written_bytes_total{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
"format": "time_series",
- "intervalFactor": 2,
"legendFormat": "{{instance}}",
"legendLink": null
}
@@ -1097,7 +1084,6 @@
"expr": "count by (job, instance, version) (memcached_version{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\"})",
"format": "table",
"instant": true,
- "intervalFactor": 2,
"legendFormat": "",
"refId": "A"
},
@@ -1105,7 +1091,6 @@
"expr": "max by (job, instance) (memcached_uptime_seconds{cluster=~\"$cluster\", job=~\"$job\", instance=~\"$instance\"})",
"format": "table",
"instant": true,
- "intervalFactor": 2,
"legendFormat": "",
"refId": "B"
}
@@ -1167,7 +1152,7 @@
"value": "default"
},
"hide": 0,
- "label": "Data Source",
+ "label": "Data source",
"name": "datasource",
"options": [ ],
"query": "prometheus",
@@ -1176,7 +1161,7 @@
"type": "datasource"
},
{
- "allValue": ".+",
+ "allValue": ".*",
"current": {
"selected": true,
"text": "All",
diff --git a/assets/microsoft-iis/alerts.yaml b/assets/microsoft-iis/alerts.yaml
new file mode 100644
index 0000000..3f5b0e8
--- /dev/null
+++ b/assets/microsoft-iis/alerts.yaml
@@ -0,0 +1,53 @@
+groups:
+- name: microsoft-iis
+ rules:
+ - alert: MicrosoftIISHighNumberOfRejectedAsyncIORequests
+ annotations:
+ description: |
+ The number of rejected async IO requests is {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} - {{ $labels.site }} which is above the threshold of 20.
+ summary: There are a high number of rejected async I/O requests for a site.
+ expr: |
+ increase(windows_iis_rejected_async_io_requests_total[5m]) > 20
+ for: 5m
+ labels:
+ severity: warning
+ - alert: MicrosoftIISHighNumberOf5xxRequestErrors
+ annotations:
+ description: |
+ The number of 5xx request errors is {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} - {{ $labels.app }} which is above the threshold of 5.
+ summary: There are a high number of 5xx request errors for an application.
+ expr: |
+ sum without (pid, status_code)(increase(windows_iis_worker_request_errors_total{status_code=~"5.*"}[5m])) > 5
+ for: 5m
+ labels:
+ severity: critical
+ - alert: MicrosoftIISLowSuccessRateForWebsocketConnections
+ annotations:
+ description: |
+ The success rate for websocket connections is {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} - {{ $labels.app }} which is above the threshold of 80.
+ summary: There is a low success rate for websocket connections for an application.
+ expr: |
+ sum without (pid) (increase(windows_iis_worker_websocket_connection_accepted_total[5m]) / clamp_min(increase(windows_iis_worker_websocket_connection_attempts_total[5m]),1)) * 100 > 80
+ for: 5m
+ labels:
+ severity: critical
+ - alert: MicrosoftIISThreadpoolUtilizationNearingMax
+ annotations:
+ description: |
+ The threadpool utilization is at {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} - {{ $labels.app }} which is above the threshold of 90.
+ summary: The thread pool utilization is nearing max capacity.
+ expr: |
+ sum without (pid, state)(windows_iis_worker_threads / windows_iis_worker_max_threads) * 100 > 90
+ for: 5m
+ labels:
+ severity: critical
+ - alert: MicrosoftIISHighNumberOfWorkerProcessFailures
+ annotations:
+ description: |
+ The number of worker process failures is at {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} - {{ $labels.app }} which is above the threshold of 10.
+ summary: There are a high number of worker process failures for an application.
+ expr: |
+ increase(windows_iis_total_worker_process_failures[5m]) > 10
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/microsoft-iis/dashboards/microsoft-iis-applications.json b/assets/microsoft-iis/dashboards/microsoft-iis-applications.json
new file mode 100644
index 0000000..92cfba0
--- /dev/null
+++ b/assets/microsoft-iis/dashboards/microsoft-iis-applications.json
@@ -0,0 +1,1553 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "microsoft-iis-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Microsoft IIS dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The HTTP request rate for an IIS application.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(app, job, instance) (rate(windows_iis_worker_requests_total{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{app}}"
+ }
+ ],
+ "title": "Requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Requests that have resulted in errors for an IIS application.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(app, instance, job, status_code) (rate(windows_iis_worker_request_errors_total{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{app}} - {{status_code}}"
+ }
+ ],
+ "title": "Request errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of attempted websocket connections for an IIS application.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(app, instance, job) (increase(windows_iis_worker_websocket_connection_attempts_total{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{app}}"
+ }
+ ],
+ "title": "Websocket connection attempts",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The success rate of websocket connection attempts for an IIS application.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(app, job, instance) (increase(windows_iis_worker_websocket_connection_accepted_total{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"}[$__interval:]) / clamp_min(increase(windows_iis_worker_websocket_connection_attempts_total{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"}[$__interval:]),1)) * 100",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{app}}"
+ }
+ ],
+ "title": "Websocket connection success rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The current number of worker threads processing requests for an IIS application.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(app, instance, job, state) (windows_iis_worker_threads{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{app}} - {{state}}"
+ }
+ ],
+ "title": "Current worker threads",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The current application thread pool utilization for an IIS application.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, instance, app) (windows_iis_worker_threads{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"})/ clamp_min(sum by (job, instance, app) (windows_iis_worker_max_threads{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"}),1) * 100",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{app}}"
+ }
+ ],
+ "title": "Thread pool utilization",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 8,
+ "targets": [ ],
+ "title": "Worker processes",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The current number of worker processes processing requests for an IIS application.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(app, job, instance) (windows_iis_current_worker_processes{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{app}}"
+ }
+ ],
+ "title": "Current worker processes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of worker process failures for an IIS application.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(windows_iis_total_worker_process_failures{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{app}}"
+ }
+ ],
+ "title": "Worker process failures",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of worker process startup failures for an IIS application.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 33
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(windows_iis_total_worker_process_startup_failures{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{app}}"
+ }
+ ],
+ "title": "Worker process startup failures",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of worker process shutdown failures for an IIS application.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 33
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(windows_iis_total_worker_process_shutdown_failures{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{app}}"
+ }
+ ],
+ "title": "Worker process shutdown failures",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of worker process ping failures for an IIS application.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 33
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(windows_iis_total_worker_process_ping_failures{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{app}}"
+ }
+ ],
+ "title": "Worker process ping failures",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 41
+ },
+ "id": 14,
+ "targets": [ ],
+ "title": "Cache",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The current file cache hit ratio for an IIS application.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 42
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, instance, app) (increase(windows_iis_worker_file_cache_hits_total{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"}[$__interval:]) / clamp_min(increase(windows_iis_worker_file_cache_queries_total{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"}[$__interval:]),1)) * 100",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{app}}"
+ }
+ ],
+ "title": "File cache hit ratio",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The current URI cache hit ratio for an IIS application.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 42
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(instance, job, app) (increase(windows_iis_worker_uri_cache_hits_total{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"}[$__interval:]) / clamp_min(increase(windows_iis_worker_uri_cache_queries_total{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"}[$__interval:]),1)) * 100",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{app}}"
+ }
+ ],
+ "title": "URI cache hit ratio",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The current metadata cache hit ratio for an IIS site.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 50
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, instance, app)(increase(windows_iis_worker_metadata_cache_hits_total{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"}[$__interval:]) / clamp_min(increase(windows_iis_worker_metadata_cache_queries_total{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"}[$__interval:]),1)) * 100",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{app}}"
+ }
+ ],
+ "title": "Metadata cache hit ratio",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The current output cache hit ratio for an IIS application.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 50
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(job, instance, app) (increase(windows_iis_worker_output_cache_hits_total{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"}[$__interval:]) / clamp_min(increase(windows_iis_worker_output_queries_total{job=~\"$job\", instance=~\"$instance\", app=~\"$application\"}[$__interval:]),1))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{app}}"
+ }
+ ],
+ "title": "Output cache hit ratio",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "microsoft-iis-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(windows_iis_requests_total{},job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(windows_iis_requests_total{job=~\"$job\"},instance)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Application",
+ "multi": true,
+ "name": "application",
+ "options": [ ],
+ "query": "label_values(windows_iis_current_application_pool_state{job=~\"$job\", instance=~\"$instance\"},app)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Microsoft IIS applications",
+ "uid": "microsoft-iis-applications",
+ "version": 0
+}
diff --git a/assets/microsoft-iis/dashboards/microsoft-iis-overview.json b/assets/microsoft-iis/dashboards/microsoft-iis-overview.json
new file mode 100644
index 0000000..1dea5a8
--- /dev/null
+++ b/assets/microsoft-iis/dashboards/microsoft-iis-overview.json
@@ -0,0 +1,1509 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "microsoft-iis-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Microsoft IIS dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The request rate split by HTTP Method for an IIS site",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(windows_iis_requests_total{job=~\"$job\", instance=~\"$instance\", site=~\"$site\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{site}} - {{method}}"
+ }
+ ],
+ "title": "Requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Requests that have resulted in errors for an IIS site.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "errors/sec"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(windows_iis_locked_errors_total{job=~\"$job\", instance=~\"$instance\", site=~\"$site\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{site}} - locked"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(windows_iis_not_found_errors_total{job=~\"$job\", instance=~\"$instance\", site=~\"$site\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{site}} - not found"
+ }
+ ],
+ "title": "Request errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of async I/O requests that are currently queued for an IIS site.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "requests"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "none",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(windows_iis_blocked_async_io_requests_total{job=~\"$job\", instance=~\"$instance\", site=~\"$site\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{site}}"
+ }
+ ],
+ "title": "Blocked async I/O requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of async I/O requests that have been rejected for an IIS site.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "requests"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(windows_iis_rejected_async_io_requests_total{job=~\"$job\", instance=~\"$instance\", site=~\"$site\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{site}}"
+ }
+ ],
+ "title": "Rejected async I/O requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The traffic sent by an IIS site.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(windows_iis_sent_bytes_total{job=~\"$job\", instance=~\"$instance\", site=~\"$site\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{site}}"
+ }
+ ],
+ "title": "Traffic sent",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The traffic received by an IIS site.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(windows_iis_received_bytes_total{job=~\"$job\", instance=~\"$instance\", site=~\"$site\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{site}}"
+ }
+ ],
+ "title": "Traffic received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The files sent by an IIS site.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "files/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(windows_iis_files_sent_total{job=~\"$job\", instance=~\"$instance\", site=~\"$site\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{site}}"
+ }
+ ],
+ "title": "Files sent",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The files received by an IIS site.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "files/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(windows_iis_files_received_total{job=~\"$job\", instance=~\"$instance\", site=~\"$site\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{site}}"
+ }
+ ],
+ "title": "Files received",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of current connections to an IIS site.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "windows_iis_current_connections{job=~\"$job\", instance=~\"$instance\", site=~\"$site\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{site}}"
+ }
+ ],
+ "title": "Current connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of attempted connections to an IIS site.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 32
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(windows_iis_connection_attempts_all_instances_total{job=~\"$job\", instance=~\"$instance\", site=~\"$site\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{site}}"
+ }
+ ],
+ "title": "Attempted connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "Recent access logs from access logs file for an IIS site.",
+ "gridPos": {
+ "h": 10,
+ "w": 24,
+ "x": 0,
+ "y": 40
+ },
+ "id": 12,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{job=~\"$job\", site=~\"$site\"} |= ``",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Access logs",
+ "type": "logs"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 50
+ },
+ "id": 13,
+ "targets": [ ],
+ "title": "Cache",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The current file cache hit ratio for an IIS server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 51
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.5.0-cloud.2.f143d34",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(windows_iis_server_file_cache_hits_total{job=~\"$job\", instance=~\"$instance\"}[$__interval:]) / clamp_min(increase(windows_iis_server_file_cache_queries_total{job=~\"$job\", instance=~\"$instance\"}[$__interval:]),1) * 100",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{job}} - {{instance}}"
+ }
+ ],
+ "title": "File cache hit ratio",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The current URI cache hit ratio for an IIS server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 51
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by(instance, job) (increase(windows_iis_server_uri_cache_hits_total{job=~\"$job\", instance=~\"$instance\"}[$__interval:]) / clamp_min(increase(windows_iis_server_uri_cache_queries_total{job=~\"$job\", instance=~\"$instance\"}[$__interval:]),1)) * 100",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{job}} - {{instance}}"
+ }
+ ],
+ "title": "URI cache hit ratio",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The current metadata cache hit ratio for an IIS server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 59
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(windows_iis_server_metadata_cache_hits_total{job=~\"$job\", instance=~\"$instance\"}[$__interval:]) / clamp_min(increase(windows_iis_server_metadata_cache_queries_total{job=~\"$job\", instance=~\"$instance\"}[$__interval:]),1) * 100",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{job}} - {{instance}}"
+ }
+ ],
+ "title": "Metadata cache hit ratio",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The current output cache hit ratio for an IIS site.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 59
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(windows_iis_server_output_cache_hits_total{job=~\"$job\", instance=~\"$instance\"}[$__interval:]) / clamp_min(increase(windows_iis_server_output_cache_queries_total{job=~\"$job\", instance=~\"$instance\"}[$__interval:]), 1) * 100",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{job}} - {{instance}}"
+ }
+ ],
+ "title": "Output cache hit ratio",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "microsoft-iis-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki Datasource",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(windows_iis_requests_total{}, job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(windows_iis_requests_total{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Site",
+ "multi": true,
+ "name": "site",
+ "options": [ ],
+ "query": "label_values(windows_iis_requests_total{job=~\"$job\",instance=~\"$instance\"}, site)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Microsoft IIS overview",
+ "uid": "microsoft-iis-overview",
+ "version": 0
+}
diff --git a/assets/microsoft-iis/rules.yaml b/assets/microsoft-iis/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/microsoft-iis/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/mongodb-atlas/alerts.yaml b/assets/mongodb-atlas/alerts.yaml
new file mode 100644
index 0000000..bb75b1e
--- /dev/null
+++ b/assets/mongodb-atlas/alerts.yaml
@@ -0,0 +1,136 @@
+groups:
+- name: mongodb-atlas-alerts
+ rules:
+ - alert: MongoDBAtlasHighNumberOfCollectionExclusiveDeadlocks
+ annotations:
+ description: The number of collection exclusive-lock deadlocks occurring on
+ node {{$labels.instance}} in cluster {{$labels.cl_name}} is {{printf "%.0f"
+ $value}} which is above the threshold of 10.
+ summary: There is a high number of collection exclusive deadlocks occurring.
+ expr: |
+ sum without(cl_role,process_port,rs_nm,rs_state) (increase(mongodb_locks_Collection_deadlockCount_W[5m])) > 10
+ for: 5m
+ labels:
+ severity: warning
+ - alert: MongoDBAtlasHighNumberOfCollectionIntentExclusiveDeadlocks
+ annotations:
+ description: The number of collection intent-exclusive-lock deadlocks occurring
+ on node {{$labels.instance}} in cluster {{$labels.cl_name}} is {{printf "%.0f"
+ $value}} which is above the threshold of 10.
+ summary: There is a high number of collection intent-exclusive deadlocks occurring.
+ expr: |
+ sum without(cl_role,process_port,rs_nm,rs_state) (increase(mongodb_locks_Collection_deadlockCount_w[5m])) > 10
+ for: 5m
+ labels:
+ severity: warning
+ - alert: MongoDBAtlasHighNumberOfCollectionSharedDeadlocks
+ annotations:
+ description: The number of collection shared-lock deadlocks occurring on node
+ {{$labels.instance}} in cluster {{$labels.cl_name}} is {{printf "%.0f" $value}}
+ which is above the threshold of 10.
+ summary: There is a high number of collection shared deadlocks occurring.
+ expr: |
+ sum without(cl_role,process_port,rs_nm,rs_state) (increase(mongodb_locks_Collection_deadlockCount_R[5m])) > 10
+ for: 5m
+ labels:
+ severity: warning
+ - alert: MongoDBAtlasHighNumberOfCollectionIntentSharedDeadlocks
+ annotations:
+ description: The number of collection intent-shared-lock deadlocks occurring
+ on node {{$labels.instance}} in cluster {{$labels.cl_name}} is {{printf "%.0f"
+ $value}} which is above the threshold of 10.
+ summary: There is a high number of collection intent-shared deadlocks occurring.
+ expr: |
+ sum without(cl_role,process_port,rs_nm,rs_state) (increase(mongodb_locks_Collection_deadlockCount_r[5m])) > 10
+ for: 5m
+ labels:
+ severity: warning
+ - alert: MongoDBAtlasHighNumberOfDatabaseExclusiveDeadlocks
+ annotations:
+ description: The number of database exclusive-lock deadlocks occurring on node
+ {{$labels.instance}} in cluster {{$labels.cl_name}} is {{printf "%.0f" $value}}
+ which is above the threshold of 10.
+ summary: There is a high number of database exclusive deadlocks occurring.
+ expr: |
+ sum without(cl_role,process_port,rs_nm,rs_state) (increase(mongodb_locks_Database_deadlockCount_W[5m])) > 10
+ for: 5m
+ labels:
+ severity: warning
+ - alert: MongoDBAtlasHighNumberOfDatabaseIntentExclusiveDeadlocks
+ annotations:
+ description: The number of database intent-exclusive-lock deadlocks occurring
+ on node {{$labels.instance}} in cluster {{$labels.cl_name}} is {{printf "%.0f"
+ $value}} which is above the threshold of 10.
+ summary: There is a high number of database intent-exclusive deadlocks occurring.
+ expr: |
+ sum without(cl_role,process_port,rs_nm,rs_state) (increase(mongodb_locks_Database_deadlockCount_w[5m])) > 10
+ for: 5m
+ labels:
+ severity: warning
+ - alert: MongoDBAtlasHighNumberOfDatabaseSharedDeadlocks
+ annotations:
+ description: The number of database shared-lock deadlocks occurring on node
+ {{$labels.instance}} in cluster {{$labels.cl_name}} is {{printf "%.0f" $value}}
+ which is above the threshold of 10.
+ summary: There is a high number of database shared deadlocks occurring.
+ expr: |
+ sum without(cl_role,process_port,rs_nm,rs_state) (increase(mongodb_locks_Database_deadlockCount_R[5m])) > 10
+ for: 5m
+ labels:
+ severity: warning
+ - alert: MongoDBAtlasHighNumberOfDatabaseIntentSharedDeadlocks
+ annotations:
+ description: The number of database intent-shared-lock deadlocks occurring on
+ node {{$labels.instance}} in cluster {{$labels.cl_name}} is {{printf "%.0f"
+ $value}} which is above the threshold of 10.
+ summary: There is a high number of database intent-shared deadlocks occurring.
+ expr: |
+ sum without(cl_role,process_port,rs_nm,rs_state) (increase(mongodb_locks_Database_deadlockCount_r[5m])) > 10
+ for: 5m
+ labels:
+ severity: warning
+ - alert: MongoDBAtlasHighNumberOfSlowNetworkRequests
+ annotations:
+ description: The number of DNS and SSL operations taking more than 1 second
+ to complete on node {{$labels.instance}} in cluster {{$labels.cl_name}} is
+ {{printf "%.0f" $value}} which is above the threshold of 10.
+ summary: There is a high number of slow network requests.
+ expr: |
+ sum without (cl_role,rs_nm,rs_state,process_port) (increase(mongodb_network_numSlowSSLOperations[5m])) + sum without (cl_role,rs_nm,rs_state,process_port) (increase(mongodb_network_numSlowDNSOperations[5m])) > 10
+ for: 5m
+ labels:
+ severity: warning
+ - alert: MongoDBAtlasDiskSpaceLow
+ annotations:
+ description: The amount of hardware disk space being used on node {{$labels.instance}}
+ in cluster {{$labels.cl_name}} is {{printf "%.0f" $value}}% which is above
+ the threshold of 90%.
+ summary: Hardware is running out of disk space.
+ expr: |
+ 100 * ((sum without (disk_name) (hardware_disk_metrics_disk_space_used_bytes)) / clamp_min((sum without (disk_name) (hardware_disk_metrics_disk_space_used_bytes)) + (sum without (disk_name) (hardware_disk_metrics_disk_space_free_bytes)), 1)) > 90
+ for: 5m
+ labels:
+ severity: warning
+ - alert: MongoDBAtlasSlowHardwareIO
+ annotations:
+ description: The latency time for read and write I/Os on node {{$labels.instance}}
+ in cluster {{$labels.cl_name}} is {{printf "%.0f" $value}} seconds which is
+ above the threshold of 3 seconds.
+ summary: Read and write I/Os are taking too long to complete.
+ expr: |
+ (sum without (disk_name) (increase(hardware_disk_metrics_read_time_milliseconds[5m])) + sum without (disk_name) (increase(hardware_disk_metrics_write_time_milliseconds[5m]))) / 1000 > 3
+ for: 5m
+ labels:
+ severity: warning
+ - alert: MongoDBAtlasHighNumberOfTimeoutElections
+ annotations:
+ description: The number of elections being called due to the primary node timing
+ out in replica set {{$labels.rs_m}} in cluster {{$labels.cl_name}} is {{printf
+ "%.0f" $value}} which is above the threshold of 10.
+ summary: There is a high number of elections being called due to the primary
+ node timing out.
+ expr: |
+ sum without (cl_role,process_port,instance,rs_state) (increase(mongodb_electionMetrics_electionTimeout_called[5m])) > 10
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/mongodb-atlas/dashboards/mongodb-atlas-cluster-overview.json b/assets/mongodb-atlas/dashboards/mongodb-atlas-cluster-overview.json
new file mode 100644
index 0000000..b988c47
--- /dev/null
+++ b/assets/mongodb-atlas/dashboards/mongodb-atlas-cluster-overview.json
@@ -0,0 +1,2521 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "mongodb-atlas-mixin"
+ ],
+ "targetBlank": false,
+ "title": "MongoDB Atlas dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Shard",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "An inventory table for shard nodes in the environment.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "center",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "mappings": [
+ {
+ "options": {
+ "1": {
+ "index": 0,
+ "text": "Primary"
+ },
+ "2": {
+ "index": 1,
+ "text": "Secondary"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "cl_role"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 150
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "rs_state"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 100
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "rs_nm"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 250
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "cl_name"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 300
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "group_id"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 300
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "State"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "options": {
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Primary"
+ },
+ "2": {
+ "color": "yellow",
+ "index": 1,
+ "text": "Secondary"
+ }
+ },
+ "type": "value"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 1
+ },
+ "id": 3,
+ "options": {
+ "cellHeight": "md",
+ "footer": {
+ "countRows": false,
+ "enablePagination": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.0-59981",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "mongodb_network_bytesIn{job=~\"$job\",cl_name=~\"$cl_name\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Shard nodes",
+ "transformations": [
+ {
+ "id": "reduce",
+ "options": {
+ "labelsToFields": true,
+ "reducers": [
+ "lastNotNull"
+ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Field": true,
+ "Last *": true,
+ "__name__": true,
+ "job": true,
+ "org_id": true,
+ "process_port": true
+ },
+ "indexByName": {
+ "Field": 6,
+ "Last *": 11,
+ "__name__": 7,
+ "cl_name": 1,
+ "cl_role": 2,
+ "group_id": 0,
+ "instance": 3,
+ "job": 8,
+ "org_id": 9,
+ "process_port": 10,
+ "rs_nm": 4,
+ "rs_state": 5
+ },
+ "renameByName": {
+ "cl_name": "Cluster",
+ "cl_role": "Role",
+ "group_id": "Group",
+ "instance": "Node",
+ "rs_nm": "Replica set",
+ "rs_state": "State"
+ }
+ }
+ },
+ {
+ "id": "filterByValue",
+ "options": {
+ "filters": [
+ {
+ "config": {
+ "id": "equal",
+ "options": {
+ "value": "shardsvr"
+ }
+ },
+ "fieldName": "Role"
+ }
+ ],
+ "match": "all",
+ "type": "include"
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 4,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Config",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "An inventory table for config nodes in the environment.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "center",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "mappings": [
+ {
+ "options": {
+ "1": {
+ "index": 0,
+ "text": "Primary"
+ },
+ "2": {
+ "index": 1,
+ "text": "Secondary"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "cl_role"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 150
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "rs_state"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 100
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "rs_nm"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 250
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "cl_name"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 300
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "group_id"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 300
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "State"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "options": {
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Primary"
+ },
+ "2": {
+ "color": "yellow",
+ "index": 1,
+ "text": "Secondary"
+ }
+ },
+ "type": "value"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "cellHeight": "md",
+ "footer": {
+ "countRows": false,
+ "enablePagination": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.0-59981",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "mongodb_network_bytesIn{job=~\"$job\",cl_name=~\"$cl_name\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Config nodes",
+ "transformations": [
+ {
+ "id": "reduce",
+ "options": {
+ "labelsToFields": true,
+ "reducers": [
+ "lastNotNull"
+ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Field": true,
+ "Last *": true,
+ "__name__": true,
+ "job": true,
+ "org_id": true,
+ "process_port": true
+ },
+ "indexByName": {
+ "Field": 6,
+ "Last *": 11,
+ "__name__": 7,
+ "cl_name": 1,
+ "cl_role": 2,
+ "group_id": 0,
+ "instance": 3,
+ "job": 8,
+ "org_id": 9,
+ "process_port": 10,
+ "rs_nm": 4,
+ "rs_state": 5
+ },
+ "renameByName": {
+ "cl_name": "Cluster",
+ "cl_role": "Role",
+ "group_id": "Group",
+ "instance": "Node",
+ "rs_nm": "Replica set",
+ "rs_state": "State"
+ }
+ }
+ },
+ {
+ "id": "filterByValue",
+ "options": {
+ "filters": [
+ {
+ "config": {
+ "id": "equal",
+ "options": {
+ "value": "configsvr"
+ }
+ },
+ "fieldName": "Role"
+ }
+ ],
+ "match": "all",
+ "type": "include"
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 6,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "mongos",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "An inventory table for mongos nodes in the environment.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "center",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "mappings": [
+ {
+ "options": {
+ "1": {
+ "index": 0,
+ "text": "Primary"
+ },
+ "2": {
+ "index": 1,
+ "text": "Secondary"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "cl_role"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 150
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "rs_state"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 100
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "rs_nm"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 250
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "cl_name"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 300
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "group_id"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 300
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 15
+ },
+ "id": 7,
+ "options": {
+ "cellHeight": "md",
+ "footer": {
+ "countRows": false,
+ "enablePagination": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.0-59981",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "mongodb_network_bytesIn{job=~\"$job\",cl_name=~\"$cl_name\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "mongos nodes",
+ "transformations": [
+ {
+ "id": "reduce",
+ "options": {
+ "labelsToFields": true,
+ "reducers": [
+ "lastNotNull"
+ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Field": true,
+ "Last *": true,
+ "__name__": true,
+ "job": true,
+ "org_id": true,
+ "process_port": true,
+ "rs_state": true
+ },
+ "indexByName": {
+ "Field": 6,
+ "Last *": 11,
+ "__name__": 7,
+ "cl_name": 1,
+ "cl_role": 2,
+ "group_id": 0,
+ "instance": 3,
+ "job": 8,
+ "org_id": 9,
+ "process_port": 10,
+ "rs_nm": 4,
+ "rs_state": 5
+ },
+ "renameByName": {
+ "cl_name": "Cluster",
+ "cl_role": "Role",
+ "group_id": "Group",
+ "instance": "Node",
+ "rs_nm": "Replica set"
+ }
+ }
+ },
+ {
+ "id": "filterByValue",
+ "options": {
+ "filters": [
+ {
+ "config": {
+ "id": "equal",
+ "options": {
+ "value": "mongos"
+ }
+ },
+ "fieldName": "Role"
+ }
+ ],
+ "match": "all",
+ "type": "include"
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 21
+ },
+ "id": 8,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Performance",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of read and write I/O's processed.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 22
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (rate(hardware_disk_metrics_read_count{job=~\"$job\",cl_name=~\"$cl_name\"}[$__rate_interval])) by (cl_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - reads"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (rate(hardware_disk_metrics_write_count{job=~\"$job\",cl_name=~\"$cl_name\"}[$__rate_interval])) by (cl_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - writes"
+ }
+ ],
+ "title": "Hardware I/O",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of time spent waiting for I/O requests.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 6,
+ "y": 22
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (increase(hardware_disk_metrics_read_time_milliseconds{job=~\"$job\",cl_name=~\"$cl_name\"}[$__interval:])) by (cl_name)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - reads"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (increase(hardware_disk_metrics_write_time_milliseconds{job=~\"$job\",cl_name=~\"$cl_name\"}[$__interval:])) by (cl_name)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - writes"
+ }
+ ],
+ "title": "Hardware I/O wait time / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of time spent servicing CPU interrupts.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 12,
+ "y": 22
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (increase(hardware_system_cpu_irq_milliseconds{job=~\"$job\",cl_name=~\"$cl_name\"}[$__interval:])) by (cl_name)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}}"
+ }
+ ],
+ "title": "Hardware CPU interrupt service time / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of RAM and virtual memory being used.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "mbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 22
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (mongodb_mem_resident{job=~\"$job\",cl_name=~\"$cl_name\"}) by (cl_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - RAM"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (mongodb_mem_virtual{job=~\"$job\",cl_name=~\"$cl_name\"}) by (cl_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - virtual"
+ }
+ ],
+ "title": "Memory used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The percentage of hardware space used.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 28
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "(sum (hardware_disk_metrics_disk_space_used_bytes{job=~\"$job\",cl_name=~\"$cl_name\"}) by(cl_name)) / (clamp_min(sum (hardware_disk_metrics_disk_space_free_bytes{job=~\"$job\",cl_name=~\"$cl_name\"}) by(cl_name) + sum (hardware_disk_metrics_disk_space_used_bytes{job=~\"$job\",cl_name=~\"$cl_name\"}) by(cl_name),0.1))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}}"
+ }
+ ],
+ "title": "Disk space usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of distinct requests that the server has received.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 6,
+ "y": 28
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (rate(mongodb_network_numRequests{job=~\"$job\",cl_name=~\"$cl_name\"}[$__rate_interval])) by (cl_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}}"
+ }
+ ],
+ "title": "Network requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of bytes sent and received over network connections.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 12,
+ "y": 28
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (rate(mongodb_network_bytesIn{job=~\"$job\",cl_name=~\"$cl_name\"}[$__rate_interval])) by (cl_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - received"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (rate(mongodb_network_bytesOut{job=~\"$job\",cl_name=~\"$cl_name\"}[$__rate_interval])) by (cl_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - sent"
+ }
+ ],
+ "title": "Network throughput",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of DNS and SSL operations that took longer than 1 second.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 28
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (rate(mongodb_network_numSlowDNSOperations{job=~\"$job\",cl_name=~\"$cl_name\"}[$__rate_interval])) by (cl_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - DNS"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (rate(mongodb_network_numSlowSSLOperations{job=~\"$job\",cl_name=~\"$cl_name\"}[$__rate_interval])) by (cl_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - SSL"
+ }
+ ],
+ "title": "Slow requests",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 34
+ },
+ "id": 17,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Operations",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of incoming connections to the cluster created.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "conns/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 35
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (rate(mongodb_connections_totalCreated{job=~\"$job\",cl_name=~\"$cl_name\"}[$__rate_interval])) by (cl_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}}"
+ }
+ ],
+ "title": "Connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of read and write operations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 6,
+ "x": 12,
+ "y": 35
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (rate(mongodb_opLatencies_reads_ops{job=~\"$job\",cl_name=~\"$cl_name\"}[$__rate_interval])) by (cl_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - reads"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (rate(mongodb_opLatencies_writes_ops{job=~\"$job\",cl_name=~\"$cl_name\"}[$__rate_interval])) by (cl_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - writes"
+ }
+ ],
+ "title": "Read/Write operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of insert, query, update, and delete operations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ],
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 6,
+ "x": 18,
+ "y": 35
+ },
+ "id": 20,
+ "options": {
+ "displayLabels": [ ],
+ "legend": {
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "values": [
+ "value"
+ ]
+ },
+ "pieType": "pie",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (increase(mongodb_opcounters_insert{job=~\"$job\",cl_name=~\"$cl_name\"}[$__interval:])) by (cl_name)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - insert"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (increase(mongodb_opcounters_query{job=~\"$job\",cl_name=~\"$cl_name\"}[$__interval:])) by (cl_name)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - query"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (increase(mongodb_opcounters_update{job=~\"$job\",cl_name=~\"$cl_name\"}[$__interval:])) by (cl_name)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - update"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (increase(mongodb_opcounters_delete{job=~\"$job\",cl_name=~\"$cl_name\"}[$__interval:])) by (cl_name)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - delete"
+ }
+ ],
+ "title": "Operations",
+ "type": "piechart"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The latency for read and write operations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "µs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 41
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (increase(mongodb_opLatencies_reads_latency{job=~\"$job\",cl_name=~\"$cl_name\"}[$__interval:])) by (cl_name)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - reads"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (increase(mongodb_opLatencies_writes_latency{job=~\"$job\",cl_name=~\"$cl_name\"}[$__interval:])) by (cl_name)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - writes"
+ }
+ ],
+ "title": "Read/Write latency / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 47
+ },
+ "id": 22,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Locks",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of reads and writes queued because of a lock.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 48
+ },
+ "id": 23,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (mongodb_globalLock_currentQueue_readers{job=~\"$job\",cl_name=~\"$cl_name\"}) by (cl_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - reads"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (mongodb_globalLock_currentQueue_writers{job=~\"$job\",cl_name=~\"$cl_name\"}) by (cl_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - writes"
+ }
+ ],
+ "title": "Current queue",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of reads and writes being actively performed by connected clients.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 48
+ },
+ "id": 24,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (mongodb_globalLock_activeClients_readers{job=~\"$job\",cl_name=~\"$cl_name\"}) by (cl_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - reads"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (mongodb_globalLock_activeClients_writers{job=~\"$job\",cl_name=~\"$cl_name\"}) by (cl_name)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - writes"
+ }
+ ],
+ "title": "Active client operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of deadlocks for database level locks.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 54
+ },
+ "id": 25,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (increase(mongodb_locks_Database_deadlockCount_W{job=~\"$job\",cl_name=~\"$cl_name\"}[$__interval:])) by (cl_name)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - exclusive"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (increase(mongodb_locks_Database_deadlockCount_w{job=~\"$job\",cl_name=~\"$cl_name\"}[$__interval:])) by (cl_name)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - intent exclusive"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (increase(mongodb_locks_Database_deadlockCount_R{job=~\"$job\",cl_name=~\"$cl_name\"}[$__interval:])) by (cl_name)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - shared"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (increase(mongodb_locks_Database_deadlockCount_r{job=~\"$job\",cl_name=~\"$cl_name\"}[$__interval:])) by (cl_name)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - intent shared"
+ }
+ ],
+ "title": "Database deadlocks / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of times lock acquisitions encounter waits for database level locks.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 54
+ },
+ "id": 26,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (increase(mongodb_locks_Database_acquireWaitCount_W{job=~\"$job\",cl_name=~\"$cl_name\"}[$__interval:])) by (cl_name)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - exclusive"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (increase(mongodb_locks_Database_acquireWaitCount_w{job=~\"$job\",cl_name=~\"$cl_name\"}[$__interval:])) by (cl_name)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - intent exclusive"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (increase(mongodb_locks_Database_acquireWaitCount_R{job=~\"$job\",cl_name=~\"$cl_name\"}[$__interval:])) by (cl_name)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - shared"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (increase(mongodb_locks_Database_acquireWaitCount_r{job=~\"$job\",cl_name=~\"$cl_name\"}[$__interval:])) by (cl_name)",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{cl_name}} - intent shared"
+ }
+ ],
+ "title": "Database waits acquiring lock / $__interval",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "mongodb-atlas-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(mongodb_network_bytesIn,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Atlas cluster",
+ "multi": true,
+ "name": "cl_name",
+ "options": [ ],
+ "query": "label_values(mongodb_network_bytesIn{job=~\"$job\"},cl_name)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "MongoDB Atlas cluster overview",
+ "uid": "mongodb-atlas-cluster-overview",
+ "version": 0
+}
diff --git a/assets/mongodb-atlas/dashboards/mongodb-atlas-elections-overview.json b/assets/mongodb-atlas/dashboards/mongodb-atlas-elections-overview.json
new file mode 100644
index 0000000..5b38daa
--- /dev/null
+++ b/assets/mongodb-atlas/dashboards/mongodb-atlas-elections-overview.json
@@ -0,0 +1,1123 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "mongodb-atlas-mixin"
+ ],
+ "targetBlank": false,
+ "title": "MongoDB Atlas dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of elections called and elections won by the node when the primary stepped down.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_electionMetrics_stepUpCmd_called{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - called"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_electionMetrics_stepUpCmd_successful{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - successful"
+ }
+ ],
+ "title": "Step-up elections / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of elections called and elections won by the node when it had a higher priority than the primary node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_electionMetrics_priorityTakeover_called{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - called"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_electionMetrics_priorityTakeover_successful{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - successful"
+ }
+ ],
+ "title": "Priority elections / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of elections called and elections won by the node when it was more current than the primary node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_electionMetrics_catchUpTakeover_called{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - called"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_electionMetrics_catchUpTakeover_successful{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - successful"
+ }
+ ],
+ "title": "Takeover elections / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of elections called and elections won by the node when the time it took to reach the primary node exceeded the election timeout limit.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_electionMetrics_electionTimeout_called{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - called"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_electionMetrics_electionTimeout_successful{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - successful"
+ }
+ ],
+ "title": "Timeout elections / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "id": 6,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Catch-ups",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of times the node had to catch up to the highest known oplog entry.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 17
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_electionMetrics_numCatchUps{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Catch-ups / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of times the node skipped the catch up process when it was the newly elected primary.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 17
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_electionMetrics_numCatchUpsSkipped{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Catch-ups skipped / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of times the node succeeded in catching up when it was the newly elected primary.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_electionMetrics_numCatchUpsSucceeded{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Catch-ups succeeded / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of times the node failed in catching up when it was the newly elected primary.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_electionMetrics_numCatchUpsFailedWithError{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Catch-ups failed / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of times the node timed out during the catch-up process when it was the newly elected primary.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 33
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_electionMetrics_numCatchUpsTimedOut{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Catch-up timeouts / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The average number of operations done during the catch-up process when this node is the newly elected primary.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 33
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "mongodb_electionMetrics_averageCatchUpOps{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Average catch-up operations",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "mongodb-atlas-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(mongodb_network_bytesIn,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Atlas cluster",
+ "multi": true,
+ "name": "cl_name",
+ "options": [ ],
+ "query": "label_values(mongodb_network_bytesIn{job=~\"$job\"},cl_name)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Replica set",
+ "multi": true,
+ "name": "rs",
+ "options": [ ],
+ "query": "label_values(mongodb_network_bytesIn{cl_name=~\"$cl_name\"},rs_nm)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Node",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(mongodb_network_bytesIn{rs_nm=~\"$rs\"},instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "MongoDB Atlas election overview",
+ "uid": "mongodb-atlas-elections-overview",
+ "version": 0
+}
diff --git a/assets/mongodb-atlas/dashboards/mongodb-atlas-operations-overview.json b/assets/mongodb-atlas/dashboards/mongodb-atlas-operations-overview.json
new file mode 100644
index 0000000..4959c52
--- /dev/null
+++ b/assets/mongodb-atlas/dashboards/mongodb-atlas-operations-overview.json
@@ -0,0 +1,1628 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "mongodb-atlas-mixin"
+ ],
+ "targetBlank": false,
+ "title": "MongoDB Atlas dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of query operations the node has received.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(mongodb_opcounters_query{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Query operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of insert operations the node has received.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(mongodb_opcounters_insert{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Insert operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of update operations this node has received.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(mongodb_opcounters_update{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Update operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of delete operations this node has received.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(mongodb_opcounters_delete{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Delete operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of incoming connections from clients to the node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "mongodb_connections_current{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Current connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of connections that currently have operations in progress.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "mongodb_connections_active{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Active connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of read and write operations performed by the node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(mongodb_opLatencies_reads_ops{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - reads"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(mongodb_opLatencies_writes_ops{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - writes"
+ }
+ ],
+ "title": "Read and write operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The latency time for read and write operations performed by this node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "µs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_opLatencies_reads_latency{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - reads"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_opLatencies_writes_latency{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - writes"
+ }
+ ],
+ "title": "Read and write latency / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 32
+ },
+ "id": 10,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Locks",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of deadlocks that have occurred for the database lock.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 33
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Database_deadlockCount_W{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - exclusive"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Database_deadlockCount_w{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - intent exclusive"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Database_deadlockCount_R{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - shared"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Database_deadlockCount_r{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - intent shared"
+ }
+ ],
+ "title": "Database deadlocks / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of database lock acquisitions that had to wait.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 33
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Database_acquireWaitCount_W{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - exclusive"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Database_acquireWaitCount_w{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - intent exclusive"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Database_acquireWaitCount_R{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - shared"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Database_acquireWaitCount_r{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - intent shared"
+ }
+ ],
+ "title": "Database wait count / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The time spent waiting for the database lock acquisition.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "µs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 33
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Database_timeAcquiringMicros_W{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - exclusive"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Database_timeAcquiringMicros_w{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - intent exclusive"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Database_timeAcquiringMicros_R{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - shared"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Database_timeAcquiringMicros_r{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - intent shared"
+ }
+ ],
+ "title": "Database wait time / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of deadlocks that have occurred for the collection lock.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 41
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Collection_deadlockCount_W{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - exclusive"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Collection_deadlockCount_w{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - intent exclusive"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Collection_deadlockCount_R{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - shared"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Collection_deadlockCount_r{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - intent shared"
+ }
+ ],
+ "title": "Collection deadlocks / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of collection lock acquisitions that had to wait.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 41
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Collection_acquireWaitCount_W{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - exclusive"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Collection_acquireWaitCount_w{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - intent exclusive"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Collection_acquireWaitCount_R{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - shared"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Collection_acquireWaitCount_r{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - intent shared"
+ }
+ ],
+ "title": "Collection wait count / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The time spent waiting for the collection lock acquisition.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "µs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 41
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Collection_timeAcquiringMicros_W{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - exclusive"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Collection_timeAcquiringMicros_w{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - intent exclusive"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Collection_timeAcquiringMicros_R{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - shared"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(mongodb_locks_Collection_timeAcquiringMicros_r{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - intent shared"
+ }
+ ],
+ "title": "Collection wait time / $__interval",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "mongodb-atlas-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(mongodb_network_bytesIn,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Atlas cluster",
+ "multi": true,
+ "name": "cl_name",
+ "options": [ ],
+ "query": "label_values(mongodb_network_bytesIn{job=~\"$job\"},cl_name)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Replica set",
+ "multi": true,
+ "name": "rs",
+ "options": [ ],
+ "query": "label_values(mongodb_network_bytesIn{cl_name=~\"$cl_name\"},rs_nm)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Node",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(mongodb_network_bytesIn{rs_nm=~\"$rs\"},instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "MongoDB Atlas operations overview",
+ "uid": "mongodb-atlas-operations-overview",
+ "version": 0
+}
diff --git a/assets/mongodb-atlas/dashboards/mongodb-atlas-performance-overview.json b/assets/mongodb-atlas/dashboards/mongodb-atlas-performance-overview.json
new file mode 100644
index 0000000..c0148a9
--- /dev/null
+++ b/assets/mongodb-atlas/dashboards/mongodb-atlas-performance-overview.json
@@ -0,0 +1,1021 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "mongodb-atlas-mixin"
+ ],
+ "targetBlank": false,
+ "title": "MongoDB Atlas dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of RAM and virtual memory being used by the database process.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "mbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "mongodb_mem_resident{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - RAM"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "mongodb_mem_virtual{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - virtual"
+ }
+ ],
+ "title": "Memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of time spent servicing CPU interrupts.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(hardware_system_cpu_irq_milliseconds{job=~\"$job\",cl_name=~\"$cl_name\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Hardware CPU interrupt service time / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of free and used disk space on this node's hardware.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hardware_disk_metrics_disk_space_free_bytes{job=~\"$job\",cl_name=~\"$cl_name\",instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - free"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hardware_disk_metrics_disk_space_used_bytes{job=~\"$job\",cl_name=~\"$cl_name\",instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - used"
+ }
+ ],
+ "title": "Disk space",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The disk space utilization for this node's hardware.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "(hardware_disk_metrics_disk_space_used_bytes{job=~\"$job\",cl_name=~\"$cl_name\",instance=~\"$instance\"}) / clamp_min((hardware_disk_metrics_disk_space_free_bytes{job=~\"$job\",cl_name=~\"$cl_name\",instance=~\"$instance\"}) + (hardware_disk_metrics_disk_space_used_bytes{job=~\"$job\",cl_name=~\"$cl_name\",instance=~\"$instance\"}), 1)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Disk space utilization",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of distinct requests the node has received.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(mongodb_network_numRequests{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Network requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of slow DNS and SSL operations received by this node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(mongodb_network_numSlowDNSOperations{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - DNS"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(mongodb_network_numSlowSSLOperations{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - SSL"
+ }
+ ],
+ "title": "Slow network requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of bytes sent and received by the node over a network connection.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(mongodb_network_bytesIn{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - received"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(mongodb_network_bytesOut{job=~\"$job\",cl_name=~\"$cl_name\",rs_nm=~\"$rs\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - sent"
+ }
+ ],
+ "title": "Network throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of read and write I/O's processed by this node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 32
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(hardware_disk_metrics_read_count{job=~\"$job\",cl_name=~\"$cl_name\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - reads"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(hardware_disk_metrics_write_count{job=~\"$job\",cl_name=~\"$cl_name\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - writes"
+ }
+ ],
+ "title": "Hardware I/O",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of time the node has spent waiting for read and write I/O's to process.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 40
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(hardware_disk_metrics_read_time_milliseconds{job=~\"$job\",cl_name=~\"$cl_name\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - read"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(hardware_disk_metrics_write_time_milliseconds{job=~\"$job\",cl_name=~\"$cl_name\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - write"
+ }
+ ],
+ "title": "Hardware I/O wait time / $__interval",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "mongodb-atlas-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(mongodb_network_bytesIn,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Atlas cluster",
+ "multi": true,
+ "name": "cl_name",
+ "options": [ ],
+ "query": "label_values(mongodb_network_bytesIn{job=~\"$job\"},cl_name)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Replica set",
+ "multi": true,
+ "name": "rs",
+ "options": [ ],
+ "query": "label_values(mongodb_network_bytesIn{cl_name=~\"$cl_name\"},rs_nm)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Node",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(mongodb_network_bytesIn{rs_nm=~\"$rs\"},instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "MongoDB Atlas performance overview",
+ "uid": "mongodb-atlas-performance-overview",
+ "version": 0
+}
diff --git a/assets/mongodb-atlas/rules.yaml b/assets/mongodb-atlas/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/mongodb-atlas/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/mongodb/alerts.yaml b/assets/mongodb/alerts.yaml
new file mode 100644
index 0000000..7b66522
--- /dev/null
+++ b/assets/mongodb/alerts.yaml
@@ -0,0 +1,85 @@
+groups:
+- name: MongodbAlerts
+ rules:
+ - alert: MongodbDown
+ annotations:
+ description: |-
+ MongoDB instance is down
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: MongoDB Instance is Down.
+ expr: mongodb_up == 0
+ for: 0m
+ labels:
+ severity: critical
+ - alert: MongodbReplicationLag
+ annotations:
+ description: |-
+ Mongodb replication lag is more than 10s
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: MongoDB replication lag is exceeding the threshold.
+ expr: mongodb_mongod_replset_member_optime_date{state="PRIMARY"} - ON (set) mongodb_mongod_replset_member_optime_date{state="SECONDARY"}
+ > 10
+ for: 0m
+ labels:
+ severity: critical
+ - alert: MongodbReplicationHeadroom
+ annotations:
+ description: |-
+ MongoDB replication headroom is <= 0
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: MongoDB replication headroom is exceeding the threshold.
+ expr: (avg(mongodb_mongod_replset_oplog_tail_timestamp - mongodb_mongod_replset_oplog_head_timestamp)
+ - (avg(mongodb_mongod_replset_member_optime_date{state="PRIMARY"}) - avg(mongodb_mongod_replset_member_optime_date{state="SECONDARY"})))
+ <= 0
+ for: 0m
+ labels:
+ severity: critical
+ - alert: MongodbNumberCursorsOpen
+ annotations:
+ description: |-
+ Too many cursors opened by MongoDB for clients (> 10k)
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: MongoDB number cursors open too high.
+ expr: mongodb_mongod_metrics_cursor_open{state="total"} > 10 * 1000
+ for: 2m
+ labels:
+ severity: warning
+ - alert: MongodbCursorsTimeouts
+ annotations:
+ description: |-
+ Too many cursors are timing out
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: MongoDB cursors timeouts is exceeding the threshold.
+ expr: increase(mongodb_mongod_metrics_cursor_timed_out_total[1m]) > 100
+ for: 2m
+ labels:
+ severity: warning
+ - alert: MongodbTooManyConnections
+ annotations:
+ description: |-
+ Too many connections (> 80%)
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: MongoDB too many connections.
+ expr: avg by(instance) (rate(mongodb_connections{state="current"}[1m])) / avg
+ by(instance) (sum (mongodb_connections) by (instance)) * 100 > 80
+ for: 2m
+ labels:
+ severity: warning
+ - alert: MongodbVirtualMemoryUsage
+ annotations:
+ description: |-
+ High memory usage
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: MongoDB virtual memory usage is too high.
+ expr: (sum(mongodb_memory{type="virtual"}) BY (instance) / sum(mongodb_memory{type="mapped"})
+ BY (instance)) > 3
+ for: 2m
+ labels:
+ severity: warning
diff --git a/assets/mongodb/dashboards/MongoDB_Cluster.json b/assets/mongodb/dashboards/MongoDB_Cluster.json
new file mode 100644
index 0000000..0722349
--- /dev/null
+++ b/assets/mongodb/dashboards/MongoDB_Cluster.json
@@ -0,0 +1,2669 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "id": 2,
+ "iteration": 1629145343485,
+ "links": [ ],
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 4,
+ "panels": [ ],
+ "title": "Overview",
+ "type": "row"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 9,
+ "x": 0,
+ "y": 1
+ },
+ "id": 2,
+ "options": {
+ "showHeader": true
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "max by (db,shard) (mongodb_mongos_db_collections_total{job=~\"$job\",mongodb_cluster=\"$cluster\",db!~\"admin|config\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "{{db}} | {{shard}} | Collections",
+ "refId": "A"
+ }
+ ],
+ "title": "Number of Collections in Shards",
+ "transformations": [
+ {
+ "id": "filterFieldsByName",
+ "options": {
+ "include": {
+ "names": [
+ "POCDB | rs1 | Collections",
+ "POCDB | rs2 | Collections"
+ ]
+ }
+ }
+ },
+ {
+ "id": "labelsToFields",
+ "options": {
+ "valueLabel": "shard"
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "left",
+ "displayMode": "auto"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 9,
+ "x": 9,
+ "y": 1
+ },
+ "id": 5,
+ "options": {
+ "showHeader": true
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "max by (db,shard) (mongodb_mongos_db_data_size_bytes{job=~\"$job\",mongodb_cluster=\"$cluster\",db!~\"admin|config\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Size of Collections in Shards",
+ "transformations": [
+ {
+ "id": "labelsToFields",
+ "options": {
+ "valueLabel": "shard"
+ }
+ },
+ {
+ "id": "filterFieldsByName",
+ "options": {
+ "include": {
+ "names": [
+ "db",
+ "rs1",
+ "rs2"
+ ]
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 3,
+ "x": 18,
+ "y": 1
+ },
+ "id": 11,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "max(mongodb_mongos_sharding_shards_total{job=~\"$job\",mongodb_cluster=\"$cluster\"})",
+ "interval": "",
+ "legendFormat": "Shards",
+ "refId": "A"
+ }
+ ],
+ "title": "# of Shards",
+ "type": "stat"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 3,
+ "x": 21,
+ "y": 1
+ },
+ "id": 12,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "max(mongodb_mongos_sharding_databases_total{job=~\"$job\",mongodb_cluster=\"$cluster\", type=\"partitioned\"})",
+ "interval": "",
+ "legendFormat": "Shards",
+ "refId": "A"
+ }
+ ],
+ "title": "Sharded DBs",
+ "type": "stat"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 3,
+ "x": 18,
+ "y": 3
+ },
+ "id": 10,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "max(mongodb_mongos_sharding_databases_total{job=~\"$job\",mongodb_cluster=\"$cluster\", type=\"unpartitioned\"})",
+ "interval": "",
+ "legendFormat": "Shards",
+ "refId": "A"
+ }
+ ],
+ "title": "Unsharded DBs",
+ "type": "stat"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 3,
+ "x": 21,
+ "y": 3
+ },
+ "id": 13,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "max(mongodb_mongos_sharding_shards_draining_total{job=~\"$job\",mongodb_cluster=\"$cluster\"})",
+ "interval": "",
+ "legendFormat": "Shards",
+ "refId": "A"
+ }
+ ],
+ "title": "Draining Shards",
+ "type": "stat"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 3,
+ "x": 18,
+ "y": 5
+ },
+ "id": 14,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "max(mongodb_mongos_sharding_collections_total{job=~\"$job\",mongodb_cluster=\"$cluster\"})",
+ "interval": "",
+ "legendFormat": "Shards",
+ "refId": "A"
+ }
+ ],
+ "title": "Sharded Collections",
+ "type": "stat"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 3,
+ "x": 21,
+ "y": 5
+ },
+ "id": 16,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(mongodb_mongos_sharding_chunks_total{job=~\"$job\",mongodb_cluster=\"$cluster\"})",
+ "interval": "",
+ "legendFormat": "Chunks",
+ "refId": "A"
+ }
+ ],
+ "title": "Chunks",
+ "type": "stat"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 3,
+ "x": 18,
+ "y": 7
+ },
+ "id": 15,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "max(mongodb_mongos_sharding_balancer_enabled{job=~\"$job\",mongodb_cluster=\"$cluster\"})",
+ "interval": "",
+ "legendFormat": "Cluster Balanced",
+ "refId": "A"
+ }
+ ],
+ "title": "Balancer Enabled",
+ "type": "stat"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 3,
+ "x": 21,
+ "y": 7
+ },
+ "id": 17,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "min(mongodb_mongos_sharding_chunks_is_balanced{job=~\"$job\",mongodb_cluster=\"$cluster\"})",
+ "interval": "",
+ "legendFormat": "Cluster Balanced",
+ "refId": "A"
+ }
+ ],
+ "title": "Chuncks Balanced",
+ "type": "stat"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 9
+ },
+ "id": 18,
+ "options": {
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": false,
+ "text": { }
+ },
+ "pluginVersion": "8.0.4",
+ "repeat": "shard",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "(sum by (service_name) (irate(mongodb_op_counters_total{job=~\"$job\",type!=\"command\"}[$__rate_interval]))) * on (service_name) group_right avg by (service_name,set) (mongodb_mongod_replset_my_state{job=~\"$job\",mongodb_cluster=\"$cluster\",set=~\"$shard\"}/ mongodb_mongod_replset_my_state{job=~\"$job\",mongodb_cluster=\"$cluster\",set=~\"$shard\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Shard Services QPS - $shard",
+ "type": "gauge"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 17
+ },
+ "id": 7,
+ "options": {
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": false,
+ "text": { }
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "(sum by (service_name) (irate(mongodb_op_counters_total{job=~\"$job\",type!=\"command\"}[$__rate_interval]))) * on (service_name) group_right avg by (service_name,set) (mongodb_mongod_replset_my_state{job=~\"$job\",mongodb_cluster=\"$cluster\",set!~\"$shard\"}/ mongodb_mongod_replset_my_state{job=~\"$job\",mongodb_cluster=\"$cluster\",set!~\"$shard\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Config Services QPS - ",
+ "type": "gauge"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 17
+ },
+ "id": 8,
+ "options": {
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": false,
+ "text": { }
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "(sum by (service_name) (rate(mongodb_op_counters_total{job=~\"$job\",type!=\"command\"}[$__rate_interval]))) * on (service_name) group_right avg by (service_name) (avg by (service_name) (mongodb_mongos_db_collections_total{job=~\"$job\",mongodb_cluster=\"$cluster\"}) / avg by (service_name) (mongodb_mongos_db_collections_total{job=~\"$job\",mongodb_cluster=\"$cluster\"}))",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Mongos Services QPS",
+ "type": "gauge"
+ },
+ {
+ "collapsed": false,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 25
+ },
+ "id": 20,
+ "panels": [ ],
+ "title": "Chunks in Shards",
+ "type": "row"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "left",
+ "displayMode": "auto"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 9,
+ "x": 0,
+ "y": 26
+ },
+ "id": 22,
+ "options": {
+ "showHeader": true
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "mongodb_mongos_sharding_shard_chunks_total{job=~\"$job\",mongodb_cluster=\"$cluster\",db!~\"admin|config\"}",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "{{shard}}",
+ "refId": "A"
+ }
+ ],
+ "title": "# of Chunks in Shards",
+ "transformations": [
+ {
+ "id": "labelsToFields",
+ "options": {
+ "valueLabel": "shard"
+ }
+ },
+ {
+ "id": "filterFieldsByName",
+ "options": {
+ "include": {
+ "names": [
+ "rs1",
+ "rs2"
+ ]
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 15,
+ "x": 9,
+ "y": 26
+ },
+ "id": 24,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "irate(mongodb_mongos_sharding_shard_chunks_total{job=~\"$job\",mongodb_cluster=\"$cluster\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "{{shard}}",
+ "refId": "A"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Dynamic of Chunks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 34
+ },
+ "id": 26,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "irate(mongodb_mongos_sharding_changelog_10min_total{job=~\"$job\",mongodb_cluster=\"$cluster\", event=~\".*split.*\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "{{event}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Chunk Split Events",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 34
+ },
+ "id": 27,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "irate(mongodb_mongos_sharding_changelog_10min_total{job=~\"$job\",mongodb_cluster=\"$cluster\", event=~\".*moveChunk.*\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "{{event}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Chunk Move Events",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 42
+ },
+ "id": 29,
+ "panels": [ ],
+ "title": "Indexes in Shards",
+ "type": "row"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 9,
+ "x": 0,
+ "y": 43
+ },
+ "id": 31,
+ "options": {
+ "showHeader": true
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "mongodb_mongos_db_indexes_total{job=~\"$job\",mongodb_cluster=\"$cluster\",db!~\"admin|config\"}",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "{{db}} | {{shard}} | Collections",
+ "refId": "A"
+ }
+ ],
+ "title": "# Indexes per Shard",
+ "transformations": [
+ {
+ "id": "labelsToFields",
+ "options": {
+ "valueLabel": "shard"
+ }
+ },
+ {
+ "id": "filterFieldsByName",
+ "options": {
+ "include": {
+ "names": [
+ "db",
+ "rs1",
+ "rs2"
+ ]
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 15,
+ "x": 9,
+ "y": 43
+ },
+ "id": 33,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "irate(mongodb_mongos_db_indexes_total{job=~\"$job\",mongodb_cluster=\"$cluster\",db!~\"admin|config\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "{{shard}}-{{db}}",
+ "refId": "A"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Dynamic of Indexes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 9,
+ "x": 0,
+ "y": 51
+ },
+ "id": 32,
+ "options": {
+ "showHeader": true
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "mongodb_mongos_db_index_size_bytes{job=~\"$job\",mongodb_cluster=\"$cluster\",db!~\"admin|config\"}",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "{{db}} | {{shard}} | Collections",
+ "refId": "A"
+ }
+ ],
+ "title": "Size of Indexes per Shard",
+ "transformations": [
+ {
+ "id": "labelsToFields",
+ "options": {
+ "valueLabel": "shard"
+ }
+ },
+ {
+ "id": "filterFieldsByName",
+ "options": {
+ "include": {
+ "names": [
+ "db",
+ "rs1",
+ "rs2"
+ ]
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 15,
+ "x": 9,
+ "y": 51
+ },
+ "id": 34,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "rate(mongodb_mongos_db_index_size_bytes{job=~\"$job\",mongodb_cluster=\"$cluster\",db!~\"admin|config\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "{{shard}}-{{db}}",
+ "refId": "A"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Dynamic of Indexes Size",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 59
+ },
+ "id": 41,
+ "panels": [ ],
+ "title": "Connections",
+ "type": "row"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 60
+ },
+ "id": 49,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum by (service_name) (max_over_time(mongodb_connections{job=~\"$job\",mongodb_cluster=\"$cluster\",state=\"current\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Currrent Connections per Instance",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 60
+ },
+ "id": 53,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum by (service_name) (max_over_time(mongodb_connections{job=~\"$job\",mongodb_cluster=\"$cluster\",state=\"current\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Currrent Connections per Instance",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 68
+ },
+ "id": 50,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum by (service_name) (max_over_time(mongodb_connections{job=~\"$job\",mongodb_cluster=\"$cluster\",state=\"available\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Available Connections per Instance",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 68
+ },
+ "id": 51,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum by (set) (avg by (service_name,set) (mongodb_connections{job=~\"$job\",mongodb_cluster=\"$cluster\", state=\"current\"}) * on (service_name) group_right avg by (service_name,set) (mongodb_mongod_replset_my_state{job=~\"$job\",mongodb_cluster=\"$cluster\"}/ mongodb_mongod_replset_my_state{job=~\"$job\",mongodb_cluster=\"$cluster\"}))",
+ "interval": "",
+ "legendFormat": "{{shard}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Currrent Connections per Shard",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 76
+ },
+ "id": 43,
+ "panels": [ ],
+ "title": "Operations",
+ "type": "row"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 77
+ },
+ "id": 56,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum( sum( irate(mongodb_op_counters_total{job=~\"$job\",mongodb_cluster=\"$cluster\", type!=\"command\"}[$__rate_interval])) by (instance) * on (instance) group_right mongodb_mongod_replset_my_state{job=~\"$job\",mongodb_cluster=\"$cluster\"} / mongodb_mongod_replset_my_state{job=~\"$job\",mongodb_cluster=\"$cluster\"}) by (set)",
+ "interval": "",
+ "legendFormat": "{{shard}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Operattions Per Shard",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 77
+ },
+ "id": 57,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum by (type) (irate(mongodb_op_counters_total{job=~\"$job\",mongodb_cluster=\"$cluster\", type!=\"command\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{type}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Operations By Type",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineStyle": {
+ "fill": "solid"
+ },
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 85
+ },
+ "id": 61,
+ "maxPerRow": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum by (type) (irate(mongodb_op_counters_total{job=~\"$job\",mongodb_cluster=\"$cluster\", type!=\"command\",service_name=~\"$service_name\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{type}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Operations $service_name",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 93
+ },
+ "id": 45,
+ "panels": [ ],
+ "title": "Cursors",
+ "type": "row"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 94
+ },
+ "id": 52,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(sum(mongodb_mongod_metrics_cursor_open{job=~\"$job\",mongodb_cluster=\"$cluster\", state=\"total\"} or mongodb_mongod_cursors{job=~\"$job\",mongodb_cluster=\"$cluster\", state=\"total_open\"}) by (service_name) * on (service_name) group_right mongodb_mongod_replset_my_state{job=~\"$job\",mongodb_cluster=\"$cluster\"} / mongodb_mongod_replset_my_state{job=~\"$job\",mongodb_cluster=\"$cluster\"}) by (set)",
+ "interval": "",
+ "legendFormat": "{{shard}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Cursors Per Shard",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 94
+ },
+ "id": 54,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum by () ( max_over_time(mongodb_mongod_metrics_cursor_open{job=~\"$job\",mongodb_cluster=\"$cluster\", state=\"total\"}[$__rate_interval]) or max_over_time(mongodb_mongos_metrics_cursor_open{job=~\"$job\",mongodb_cluster=\"$cluster\", state=\"total\"}[$__rate_interval]) or max_over_time(mongodb_mongod_cursors{job=~\"$job\",mongodb_cluster=\"$cluster\", state=\"total_open\"}[$__rate_interval]) or max_over_time(mongodb_mongos_cursors{job=~\"$job\",mongodb_cluster=\"$cluster\", state=\"total_open\"}[$__rate_interval]) )",
+ "interval": "",
+ "legendFormat": "Cursors",
+ "refId": "A"
+ }
+ ],
+ "title": "Mongos Cursors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 102
+ },
+ "id": 55,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum by (service_name) ( max_over_time(mongodb_mongod_metrics_cursor_open{job=~\"$job\",mongodb_cluster=\"$cluster\", state=\"total\"}[$__rate_interval]) or max_over_time(mongodb_mongos_metrics_cursor_open{job=~\"$job\",mongodb_cluster=\"$cluster\", state=\"total\"}[$__rate_interval]) or max_over_time(mongodb_mongod_cursors{job=~\"$job\",mongodb_cluster=\"$cluster\", state=\"total_open\"}[$__rate_interval]) or max_over_time(mongodb_mongos_cursors{job=~\"$job\",mongodb_cluster=\"$cluster\", state=\"total_open\"}[$__rate_interval]) )",
+ "interval": "",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Cursors By Instance",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 111
+ },
+ "id": 47,
+ "panels": [ ],
+ "title": "Additional Info",
+ "type": "row"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 112
+ },
+ "id": 59,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "max by (set) (max(max_over_time(mongodb_mongod_replset_member_replication_lag{job=~\"$job\",mongodb_cluster=\"$cluster\"}[$__rate_interval]) > 0) by (service_name,set) or max(max_over_time(mongodb_mongod_replset_member_replication_lag{job=~\"$job\",mongodb_cluster=\"$cluster\"}[$__rate_interval]) > 0) by (service_name,set))",
+ "interval": "",
+ "legendFormat": "{{set}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Replication Lag by Set",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 112
+ },
+ "id": 60,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "max(max(mongodb_mongod_replset_oplog_head_timestamp{job=~\"$job\",mongodb_cluster=\"$cluster\"}-mongodb_mongod_replset_oplog_tail_timestamp{job=~\"$job\",mongodb_cluster=\"$cluster\"}) by (service_name) * on (service_name) group_right mongodb_mongod_replset_my_state{job=~\"$job\",mongodb_cluster=\"$cluster\"} / mongodb_mongod_replset_my_state{job=~\"$job\",mongodb_cluster=\"$cluster\"}) by (set)",
+ "interval": "",
+ "legendFormat": "{{set}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Replication Lag by Set",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 30,
+ "style": "dark",
+ "tags": [
+ "mongodb-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "Cortex",
+ "value": "Cortex"
+ },
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "${datasource}",
+ "definition": "label_values(mongodb_up,job)",
+ "description": null,
+ "error": null,
+ "hide": 2,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(mongodb_up,job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "${datasource}",
+ "definition": "label_values(mongodb_up{job=~\"$job\"},mongodb_cluster)",
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": true,
+ "label": "cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(mongodb_up{job=~\"$job\"},mongodb_cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "${datasource}",
+ "definition": "label_values(mongodb_mongos_db_collections_total{job=~\"$job\",mongodb_cluster=\"$cluster\"},shard)",
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": "shard",
+ "multi": true,
+ "name": "shard",
+ "options": [ ],
+ "query": {
+ "query": "label_values(mongodb_mongos_db_collections_total{job=~\"$job\",mongodb_cluster=\"$cluster\"},shard)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "${datasource}",
+ "definition": "label_values(mongodb_up{job=~\"$job\",mongodb_cluster=\"$cluster\"},service_name)",
+ "description": null,
+ "error": null,
+ "hide": 2,
+ "includeAll": false,
+ "label": null,
+ "multi": true,
+ "name": "service_name",
+ "options": [ ],
+ "query": {
+ "query": "label_values(mongodb_up{job=~\"$job\",mongodb_cluster=\"$cluster\"},service_name)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": { },
+ "timezone": "",
+ "title": "MongoDB Cluster",
+ "uid": "nU5ylgi7z",
+ "version": 2
+}
diff --git a/assets/mongodb/dashboards/MongoDB_Instance.json b/assets/mongodb/dashboards/MongoDB_Instance.json
new file mode 100644
index 0000000..c43a581
--- /dev/null
+++ b/assets/mongodb/dashboards/MongoDB_Instance.json
@@ -0,0 +1,1592 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "id": 3,
+ "iteration": 1629145386676,
+ "links": [ ],
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "panels": [ ],
+ "title": "Overview",
+ "type": "row"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 3600
+ },
+ {
+ "color": "green",
+ "value": 86400
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 5,
+ "x": 0,
+ "y": 1
+ },
+ "id": 8,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "avg by (service_name) (mongodb_instance_uptime_seconds{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"})",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Uptime",
+ "type": "stat"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 5,
+ "x": 5,
+ "y": 1
+ },
+ "id": 9,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(irate(mongodb_mongod_op_counters_total{service_name=~\"$service_name\",type!=\"command\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]) or irate(mongodb_op_counters_total{service_name=~\"$service_name\",type!=\"command\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "QPS",
+ "type": "stat"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 4,
+ "x": 10,
+ "y": 1
+ },
+ "id": 11,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "/^set$/",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "mongodb_mongod_replset_my_state{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "{{set}}",
+ "refId": "A"
+ }
+ ],
+ "title": "ReplSet",
+ "transformations": [
+ {
+ "id": "labelsToFields",
+ "options": {
+ "valueLabel": "__name__"
+ }
+ }
+ ],
+ "type": "stat"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "µs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 5,
+ "x": 14,
+ "y": 1
+ },
+ "id": 10,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.0.4",
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "avg by (service_name) (irate(mongodb_mongod_op_latencies_latency_total{service_name=~\"$service_name\",type=\"command\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]) / (irate(mongodb_mongod_op_latencies_ops_total{service_name=~\"$service_name\",type=\"command\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]) > 0))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Latency",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "index": 0,
+ "text": "STARTUP"
+ },
+ "1": {
+ "index": 1,
+ "text": "PRIMARY"
+ },
+ "10": {
+ "index": 9,
+ "text": "REMOVED"
+ },
+ "2": {
+ "index": 2,
+ "text": "SECONDARY"
+ },
+ "3": {
+ "index": 3,
+ "text": "RECOVERING"
+ },
+ "5": {
+ "index": 4,
+ "text": "STARTUP2"
+ },
+ "6": {
+ "index": 5,
+ "text": "UNKNOWN"
+ },
+ "7": {
+ "index": 6,
+ "text": "ARBITER"
+ },
+ "8": {
+ "index": 7,
+ "text": "DOWN"
+ },
+ "9": {
+ "index": 8,
+ "text": "ROLLBACK"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 5,
+ "x": 19,
+ "y": 1
+ },
+ "id": 12,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "/^Value$/",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.1.6",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "mongodb_mongod_replset_my_state{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "{{label_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Current ReplSet State",
+ "transformations": [ ],
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 3
+ },
+ "id": 4,
+ "panels": [ ],
+ "title": "Service Summary",
+ "type": "row"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 12,
+ "x": 0,
+ "y": 4
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "avg by (service_name, type) (irate(mongodb_mongod_op_counters_total{service_name=~\"$service_name\", type!=\"command\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]) or irate(mongodb_mongos_op_counters_total{service_name=~\"$service_name\", type!=\"command\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{type}}",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "avg by (service_name, type) (irate(mongodb_mongod_op_counters_repl_total{service_name=~\"$service_name\", type!~\"(command|query|getmore)\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]) or irate(mongodb_mongos_op_counters_repl_total{service_name=~\"$service_name\", type!~\"(command|query|getmore)\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "{{type}}",
+ "refId": "B"
+ },
+ {
+ "exemplar": true,
+ "expr": "avg by (service_name) (irate(mongodb_mongod_metrics_ttl_deleted_documents_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]) or irate(mongodb_mongos_metrics_ttl_deleted_documents_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "ttl_delete",
+ "refId": "C"
+ }
+ ],
+ "title": "Command Operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 12,
+ "x": 12,
+ "y": 4
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "avg by (service_name) (mongodb_mongod_connections{service_name=~\"$service_name\", state=\"current\", mongodb_cluster=\"$cluster\",job=~\"$job\"} or mongodb_mongos_connections{service_name=~\"$service_name\", state=\"current\", mongodb_cluster=\"$cluster\",job=~\"$job\"} or mongodb_connections{service_name=~\"$service_name\", state=\"current\", mongodb_cluster=\"$cluster\",job=~\"$job\"})",
+ "interval": "",
+ "legendFormat": "Connections",
+ "refId": "A"
+ }
+ ],
+ "title": "Connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 12,
+ "x": 0,
+ "y": 15
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "avg by (service_name,state) (irate(mongodb_mongod_metrics_document_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{state}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Document Operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "µs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 12,
+ "x": 12,
+ "y": 15
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "avg by (service_name,type) (irate(mongodb_mongod_op_latencies_latency_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]) / (irate(mongodb_mongod_op_latencies_ops_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]) > 0))",
+ "interval": "",
+ "legendFormat": "{{type}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Latency Detail",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 26
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "avg by (service_name,type) (mongodb_mongod_global_lock_current_queue{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"})",
+ "interval": "",
+ "legendFormat": "{{type}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Queued Operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 26
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "avg by (service_name,state) (mongodb_mongod_metrics_cursor_open{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"} or mongodb_mongod_cursors{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"} or mongodb_mongos_metrics_cursor_open{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"} or mongodb_mongos_cursors{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"})",
+ "interval": "",
+ "legendFormat": "{{state}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Cursors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 36
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "avg by (service_name,state) (irate(mongodb_mongod_metrics_query_executor_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{state}}",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "avg by (service_name) (rate(mongodb_mongod_metrics_record_moves_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "moved",
+ "refId": "B"
+ }
+ ],
+ "title": "Scanned and Moved Objects",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 36
+ },
+ "id": 24,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "avg by (service_name,type) (irate(mongodb_mongod_asserts_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]) or irate(mongodb_mongos_asserts_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]) or irate(mongodb_asserts_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{type}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Assert Events",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 46
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "avg by (service_name) (irate(mongodb_mongod_metrics_get_last_error_wtime_num_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]) or irate(mongodb_mongos_metrics_get_last_error_wtime_num_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "Total",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "avg by (service_name) (irate(mongodb_mongod_metrics_get_last_error_wtimeouts_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]) or irate(mongodb_mongos_metrics_get_last_error_wtimeouts_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Timeouts",
+ "refId": "B"
+ }
+ ],
+ "title": "getLastError Write Operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 46
+ },
+ "id": 23,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "sum(irate(mongodb_mongod_metrics_document_total{service_name=~\"$service_name\", state=\"returned\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))/ sum(irate(mongodb_mongod_metrics_query_executor_total{service_name=~\"$service_name\", state=\"scanned_objects\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "Document",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "sum(irate(mongodb_mongod_metrics_query_executor_total{service_name=~\"$service_name\", state=\"scanned\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))/ sum(irate(mongodb_mongod_metrics_query_executor_total{service_name=~\"$service_name\", state=\"scanned_objects\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Index",
+ "refId": "B"
+ }
+ ],
+ "title": "Query Efficiency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 54
+ },
+ "id": 22,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "avg by (service_name) (irate(mongodb_mongod_metrics_get_last_error_wtime_total_milliseconds{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]) or irate(mongodb_mongos_metrics_get_last_error_wtime_total_milliseconds{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "Write Wait Time",
+ "refId": "A"
+ }
+ ],
+ "title": "getLastError Write Time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 54
+ },
+ "id": 25,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "avg by (service_name) (irate(mongodb_mongod_extra_info_page_faults_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]) or irate(mongodb_mongos_extra_info_page_faults_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]) or irate(mongodb_extra_info_page_faults_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "Faults",
+ "refId": "A"
+ }
+ ],
+ "title": "Page Faults",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 30,
+ "style": "dark",
+ "tags": [
+ "mongodb-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "${datasource}",
+ "definition": "label_values(mongodb_up,job)",
+ "description": null,
+ "error": null,
+ "hide": 2,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(mongodb_up,job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "${datasource}",
+ "definition": "label_values(mongodb_up{job=~\"$job\"},mongodb_cluster)",
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": "cluster",
+ "multi": false,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(mongodb_up{job=~\"$job\"},mongodb_cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "${datasource}",
+ "definition": "label_values(mongodb_up{job=~\"$job\",mongodb_cluster=~\"$cluster\"}, service_name)",
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": "service name",
+ "multi": false,
+ "name": "service_name",
+ "options": [ ],
+ "query": {
+ "query": "label_values(mongodb_up{job=~\"$job\",mongodb_cluster=~\"$cluster\"}, service_name)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": { },
+ "timezone": "",
+ "title": "MongoDB Instance",
+ "uid": "68bDO-m7k",
+ "version": 3
+}
diff --git a/assets/mongodb/dashboards/MongoDB_ReplicaSet.json b/assets/mongodb/dashboards/MongoDB_ReplicaSet.json
new file mode 100644
index 0000000..18a3360
--- /dev/null
+++ b/assets/mongodb/dashboards/MongoDB_ReplicaSet.json
@@ -0,0 +1,1722 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 3,
+ "iteration": 1666035533543,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Overview",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 5,
+ "x": 0,
+ "y": 1
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.0.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "count by (set) (mongodb_mongod_replset_number_of_members{set=~\"$replset\", mongodb_cluster=\"$cluster\",job=~\"$job\", service_name=~\"$service_name\"} or mongodb_mongod_replset_my_state{set=~\"$replset\", mongodb_cluster=\"$cluster\",job=~\"$job\", service_name=~\"$service_name\"})",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "ReplSet Members",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 5,
+ "x": 5,
+ "y": 1
+ },
+ "id": 5,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.0.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "time() - max(mongodb_mongod_replset_member_election_date{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"})",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "ReplSet Last Election",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 5,
+ "x": 10,
+ "y": 1
+ },
+ "id": 6,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.0.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "avg by (set) (max_over_time(mongodb_mongod_replset_member_replication_lag{set=\"$replset\",service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[${__range}]))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Avg ReplSet Lag",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto",
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 9,
+ "x": 15,
+ "y": 1
+ },
+ "id": 8,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "9.0.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "avg by (service_name, mongodb_cluster, mongodb) (mongodb_version_info{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"})",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "MongoDB Versions",
+ "transformations": [
+ {
+ "id": "filterFieldsByName",
+ "options": {
+ "include": {
+ "names": [
+ "mongodb",
+ "service_name",
+ "mongodb_cluster"
+ ]
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "fillOpacity": 70,
+ "lineWidth": 0,
+ "spanNulls": false
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "blue",
+ "index": 2,
+ "text": "STARTUP"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "PRIMARY"
+ },
+ "10": {
+ "color": "red",
+ "index": 9,
+ "text": "REMOVED"
+ },
+ "2": {
+ "color": "yellow",
+ "index": 1,
+ "text": "SECONDARY"
+ },
+ "3": {
+ "color": "red",
+ "index": 3,
+ "text": "RECOVERING"
+ },
+ "5": {
+ "color": "blue",
+ "index": 4,
+ "text": "STARTUP2"
+ },
+ "6": {
+ "color": "red",
+ "index": 5,
+ "text": "UNKNOWN"
+ },
+ "7": {
+ "color": "red",
+ "index": 6,
+ "text": "ARBITER"
+ },
+ "8": {
+ "color": "red",
+ "index": 7,
+ "text": "DOWN"
+ },
+ "9": {
+ "color": "red",
+ "index": 8,
+ "text": "ROLLBACK"
+ }
+ },
+ "type": "value"
+ },
+ {
+ "options": {
+ "match": "empty",
+ "result": {
+ "color": "red",
+ "index": 10,
+ "text": "NULL"
+ }
+ },
+ "type": "special"
+ },
+ {
+ "options": {
+ "match": "null+nan",
+ "result": {
+ "color": "red",
+ "index": 11,
+ "text": "NULL"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 15,
+ "x": 0,
+ "y": 3
+ },
+ "id": 10,
+ "options": {
+ "alignValue": "left",
+ "legend": {
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "mergeValues": true,
+ "rowHeight": 0.90000000000000002,
+ "showValue": "auto",
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "max by (set, mongodb_cluster, service_name) (mongodb_mongod_replset_my_state{set=~\"$replset\",service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"})",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "ReplSet States",
+ "transformations": [
+ {
+ "id": "labelsToFields",
+ "options": {
+ "mode": "columns",
+ "valueLabel": "service_name"
+ }
+ },
+ {
+ "id": "merge",
+ "options": { }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "__name__": true,
+ "agent_hostname": true,
+ "cluster": true,
+ "instance": true,
+ "job": true,
+ "mongodb_cluster": true,
+ "set": true
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "state-timeline"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 11
+ },
+ "id": 12,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Performance",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 12
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "min",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": true,
+ "expr": "avg by (name) (max(max_over_time(mongodb_mongod_replset_member_replication_lag{set=\"$replset\",service_name=~\"$secondary\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval])) by (name, service_name,set,mongodb_cluster))",
+ "interval": "",
+ "legendFormat": "{{name}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Replication Lag",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "min",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "avg by (service_name,type) (irate(mongodb_op_counters_repl_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "repl - {{type}}",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "avg by (service_name,type) (irate(mongodb_mongod_op_counters_repl_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "repl - {{type}}",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "avg by (service_name,type) (irate(mongodb_op_counters_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "{{type}}",
+ "refId": "C"
+ }
+ ],
+ "title": "Operations - $service_name",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "id": 23,
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "min",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "max by (service_name) (changes(mongodb_mongod_replset_member_election_date{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Elections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 29
+ },
+ "id": 22,
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "min",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "time() - avg by (service_name) (max(mongodb_mongod_replset_member_last_heartbeat{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}) by (name)) * on (name) group_right avg by (service_name) (mongodb_mongod_replset_my_name{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"})",
+ "interval": "$__rate_interval",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Max Heartbeat Time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 29
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "max by (service_name,name,state) (mongodb_mongod_replset_member_ping_ms{set=~\"$replset\",service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"} or label_replace(label_replace(mongodb_rs_members_pingMs{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\", member_state!=\"\"},\"state\", \"$1\", \"member_state\", \"(.*)\"),\"name\", \"$1\", \"member_idx\", \"(.*)\"))",
+ "interval": "",
+ "legendFormat": "{{service_name}} - {{name}} - {{state}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Max Member Ping Time - $service_name",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 38
+ },
+ "id": 32,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Oplog Details",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 39
+ },
+ "id": 33,
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "min",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "avg by (service_name) (mongodb_mongod_metrics_repl_buffer_count{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"})",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Oplog Buffered Operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 39
+ },
+ "id": 34,
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "min",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "avg by (service_name) (irate(mongodb_mongod_metrics_repl_network_getmores_total_milliseconds{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Oplog Getmore Time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 47
+ },
+ "id": 24,
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "min",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "time()-avg by (service_name) (mongodb_mongod_replset_oplog_tail_timestamp{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"})",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Now to End",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "avg by (service_name) (mongodb_mongod_replset_oplog_head_timestamp{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}-mongodb_mongod_replset_oplog_tail_timestamp{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"})",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Oplog Range",
+ "refId": "B"
+ }
+ ],
+ "title": "Oplog Recovery Window - $service_name",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 47
+ },
+ "id": 35,
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "min",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "avg by (service_name) (irate(mongodb_mongod_metrics_repl_preload_docs_total_milliseconds{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Document Preload",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "avg by (service_name) (irate(mongodb_mongod_metrics_repl_preload_indexes_total_milliseconds{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Index Preload",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "avg by (service_name) (irate(mongodb_mongod_metrics_repl_apply_batches_total_milliseconds{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Batch Apply",
+ "refId": "C"
+ }
+ ],
+ "title": "Oplog Processing Time - $service_name",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 47
+ },
+ "id": 44,
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "min",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "avg by (service_name) (irate(mongodb_mongod_metrics_repl_preload_docs_num_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Document Preload",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "avg by (service_name) (irate(mongodb_mongod_metrics_repl_preload_indexes_num_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Index Preload",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "avg by (service_name) (irate(mongodb_mongod_metrics_repl_apply_ops_total{service_name=~\"$service_name\", mongodb_cluster=\"$cluster\",job=~\"$job\"}[$__rate_interval]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Batch Apply",
+ "refId": "C"
+ }
+ ],
+ "title": "Oplog Operations - $service_name",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 36,
+ "style": "dark",
+ "tags": [
+ "mongodb-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "${datasource}",
+ "definition": "label_values(mongodb_up,job)",
+ "description": null,
+ "error": null,
+ "hide": 2,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(mongodb_up,job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(mongodb_mongod_replset_my_state{job=~\"$job\"},mongodb_cluster)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "cluster",
+ "multi": false,
+ "name": "cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(mongodb_mongod_replset_my_state{job=~\"$job\"},mongodb_cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(mongodb_mongod_replset_my_state{job=~\"$job\",mongodb_cluster=\"$cluster\"}, set)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "replica set",
+ "multi": false,
+ "name": "replset",
+ "options": [ ],
+ "query": {
+ "query": "label_values(mongodb_mongod_replset_my_state{job=~\"$job\",mongodb_cluster=\"$cluster\"}, set)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(mongodb_mongod_replset_my_state{mongodb_cluster=\"$cluster\",job=~\"$job\",set=\"$replset\"}, service_name)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "service name",
+ "multi": false,
+ "name": "service_name",
+ "options": [ ],
+ "query": {
+ "query": "label_values(mongodb_mongod_replset_my_state{mongodb_cluster=\"$cluster\",job=~\"$job\",set=\"$replset\"}, service_name)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "definition": "query_result(mongodb_mongod_replset_my_state{mongodb_cluster=\"$cluster\",job=~\"$job\",set=\"$replset\"}==2)",
+ "hide": 2,
+ "includeAll": true,
+ "multi": false,
+ "name": "secondary",
+ "options": [ ],
+ "query": {
+ "query": "query_result(mongodb_mongod_replset_my_state{mongodb_cluster=\"$cluster\",job=~\"$job\",set=\"$replset\"}==2)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "/.*service_name=\"([^\"]*).*/",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": { },
+ "timezone": "",
+ "title": "MongoDB ReplicaSet",
+ "uid": "U5CBoam7z",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/mongodb/rules.yaml b/assets/mongodb/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/mongodb/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/mysql/alerts.yaml b/assets/mysql/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/mysql/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/mysql/dashboards/mysql-overview.json b/assets/mysql/dashboards/mysql-overview.json
new file mode 100644
index 0000000..15bd7f1
--- /dev/null
+++ b/assets/mysql/dashboards/mysql-overview.json
@@ -0,0 +1,3801 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "",
+ "editable": true,
+ "gnetId": 11323,
+ "graphTooltip": 1,
+ "id": 31,
+ "iteration": 1603186191702,
+ "links": [ ],
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 382,
+ "panels": [ ],
+ "repeat": null,
+ "title": "",
+ "type": "row"
+ },
+ {
+ "cacheTimeout": null,
+ "datasource": "$datasource",
+ "description": "**Uptime**\n\nThe amount of time since the last restart of the MySQL server process.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "decimals": 1,
+ "mappings": [ ],
+ "nullValueMode": "connected",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 8,
+ "x": 0,
+ "y": 1
+ },
+ "id": 12,
+ "interval": "1m",
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ }
+ },
+ "pluginVersion": "7.0.4",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "mysql_global_status_uptime{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Uptime",
+ "type": "stat"
+ },
+ {
+ "cacheTimeout": null,
+ "datasource": "$datasource",
+ "description": "**Current QPS**\n\nBased on the queries reported by MySQL's ``SHOW STATUS`` command, it is the number of statements executed by the server within the last second. This variable includes statements executed within stored programs, unlike the Questions variable. It does not count \n``COM_PING`` or ``COM_STATISTICS`` commands.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "decimals": 2,
+ "mappings": [ ],
+ "nullValueMode": "connected",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 35
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 75
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 8,
+ "x": 8,
+ "y": 1
+ },
+ "id": 13,
+ "interval": "1m",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server Status Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Queries"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ }
+ },
+ "pluginVersion": "7.0.4",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "rate(mysql_global_status_queries{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "title": "Current QPS",
+ "type": "stat"
+ },
+ {
+ "cacheTimeout": null,
+ "datasource": "$datasource",
+ "description": "**InnoDB Buffer Pool Size**\n\nInnoDB maintains a storage area called the buffer pool for caching data and indexes in memory. Knowing how the InnoDB buffer pool works, and taking advantage of it to keep frequently accessed data in memory, is one of the most important aspects of MySQL tuning. The goal is to keep the working set in memory. In most cases, this should be between 60%-90% of available memory on a dedicated database host, but depends on many factors.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "decimals": 0,
+ "mappings": [ ],
+ "nullValueMode": "connected",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 90
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 95
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 8,
+ "x": 16,
+ "y": 1
+ },
+ "id": 51,
+ "interval": "1m",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Tuning the InnoDB Buffer Pool Size",
+ "url": "https://www.percona.com/blog/2015/06/02/80-ram-tune-innodb_buffer_pool_size/"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ }
+ },
+ "pluginVersion": "7.0.4",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "mysql_global_variables_innodb_buffer_pool_size{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Buffer Pool",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 4
+ },
+ "id": 383,
+ "panels": [ ],
+ "repeat": null,
+ "title": "Connections",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 0,
+ "description": "**Max Connections** \n\nMax Connections is the maximum permitted number of simultaneous client connections. By default, this is 151. Increasing this value increases the number of file descriptors that mysqld requires. If the required number of descriptors are not available, the server reduces the value of Max Connections.\n\nmysqld actually permits Max Connections + 1 clients to connect. The extra connection is reserved for use by accounts that have the SUPER privilege, such as root.\n\nMax Used Connections is the maximum number of connections that have been in use simultaneously since the server started.\n\nConnections is the number of connection attempts (successful or not) to the MySQL server.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 5
+ },
+ "height": "250px",
+ "hiddenSeries": false,
+ "id": 92,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server System Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_connections"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max Connections",
+ "fill": 0
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(max_over_time(mysql_global_status_threads_connected{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Connections",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(mysql_global_status_max_used_connections{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Max Used Connections",
+ "metric": "",
+ "refId": "C",
+ "step": 20,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(mysql_global_variables_max_connections{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Max Connections",
+ "metric": "",
+ "refId": "B",
+ "step": 20,
+ "target": ""
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Connections",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "**MySQL Active Threads**\n\nThreads Connected is the number of open connections, while Threads Running is the number of threads not sleeping.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 5
+ },
+ "hiddenSeries": false,
+ "id": 10,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Peak Threads Running",
+ "color": "#E24D42",
+ "lines": false,
+ "pointradius": 1,
+ "points": true
+ },
+ {
+ "alias": "Peak Threads Connected",
+ "color": "#1F78C1"
+ },
+ {
+ "alias": "Avg Threads Running",
+ "color": "#EAB839"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(max_over_time(mysql_global_status_threads_connected{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Peak Threads Connected",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(max_over_time(mysql_global_status_threads_running{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Peak Threads Running",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "expr": "sum(avg_over_time(mysql_global_status_threads_running{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Avg Threads Running",
+ "refId": "C",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Client Thread Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [
+ "total"
+ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "Threads",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 12
+ },
+ "id": 384,
+ "panels": [ ],
+ "repeat": null,
+ "title": "Table Locks",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "**MySQL Questions**\n\nThe number of statements executed by the server. This includes only statements sent to the server by clients and not statements executed within stored programs, unlike the Queries used in the QPS calculation. \n\nThis variable does not count the following commands:\n* ``COM_PING``\n* ``COM_STATISTICS``\n* ``COM_STMT_PREPARE``\n* ``COM_STMT_CLOSE``\n* ``COM_STMT_RESET``",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 13
+ },
+ "hiddenSeries": false,
+ "id": 53,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Queries and Questions",
+ "url": "https://www.percona.com/blog/2014/05/29/how-mysql-queries-and-questions-are-measured/"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "rate(mysql_global_status_questions{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Questions",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "**MySQL Thread Cache**\n\nThe thread_cache_size variable sets how many threads the server should cache to reuse. When a client disconnects, the client's threads are put in the cache if the cache is not full. It is autosized in MySQL 5.6.8 and above (capped to 100). Requests for threads are satisfied by reusing threads taken from the cache if possible, and only when the cache is empty is a new thread created.\n\n* *Threads_created*: The number of threads created to handle connections.\n* *Threads_cached*: The number of threads in the thread cache.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 13
+ },
+ "hiddenSeries": false,
+ "id": 11,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Tuning information",
+ "url": "https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_thread_cache_size"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Threads Created",
+ "fill": 0
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(mysql_global_variables_thread_cache_size{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Thread Cache Size",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(mysql_global_status_threads_cached{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Threads Cached",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_threads_created{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Threads Created",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Thread Cache",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 20
+ },
+ "id": 385,
+ "panels": [ ],
+ "repeat": null,
+ "title": "Temporary Objects",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "MySQL Temporary Objects",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 21
+ },
+ "hiddenSeries": false,
+ "id": 22,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_created_tmp_tables{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Created Tmp Tables",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_created_tmp_disk_tables{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Created Tmp Disk Tables",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_created_tmp_files{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Created Tmp Files",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Temporary Objects",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "**MySQL Select Types**\n\nAs with most relational databases, selecting based on indexes is more efficient than scanning an entire table's data. Here we see the counters for selects not done with indexes.\n\n* ***Select Scan*** is how many queries caused full table scans, in which all the data in the table had to be read and either discarded or returned.\n* ***Select Range*** is how many queries used a range scan, which means MySQL scanned all rows in a given range.\n* ***Select Full Join*** is the number of joins that are not joined on an index, this is usually a huge performance hit.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 21
+ },
+ "height": "250px",
+ "hiddenSeries": false,
+ "id": 311,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_select_full_join{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Select Full Join",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_select_full_range_join{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Select Full Range Join",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_select_range{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Select Range",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_select_range_check{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Select Range Check",
+ "metric": "",
+ "refId": "D",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_select_scan{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Select Scan",
+ "metric": "",
+ "refId": "E",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Select Types",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 386,
+ "panels": [ ],
+ "repeat": null,
+ "title": "Sorts",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "**MySQL Sorts**\n\nDue to a query's structure, order, or other requirements, MySQL sorts the rows before returning them. For example, if a table is ordered 1 to 10 but you want the results reversed, MySQL then has to sort the rows to return 10 to 1.\n\nThis graph also shows when sorts had to scan a whole table or a given range of a table in order to return the results and which could not have been sorted via an index.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 29
+ },
+ "hiddenSeries": false,
+ "id": 30,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_sort_rows{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Sort Rows",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_sort_range{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Sort Range",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_sort_merge_passes{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Sort Merge Passes",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_sort_scan{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Sort Scan",
+ "metric": "",
+ "refId": "D",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Sorts",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "**MySQL Slow Queries**\n\nSlow queries are defined as queries being slower than the long_query_time setting. For example, if you have long_query_time set to 3, all queries that take longer than 3 seconds to complete will show on this graph.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 29
+ },
+ "hiddenSeries": false,
+ "id": 48,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_slow_queries{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Slow Queries",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Slow Queries",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 36
+ },
+ "id": 387,
+ "panels": [ ],
+ "repeat": null,
+ "title": "Aborted",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "**Aborted Connections**\n\nWhen a given host connects to MySQL and the connection is interrupted in the middle (for example due to bad credentials), MySQL keeps that info in a system table (since 5.6 this table is exposed in performance_schema).\n\nIf the amount of failed requests without a successful connection reaches the value of max_connect_errors, mysqld assumes that something is wrong and blocks the host from further connection.\n\nTo allow connections from that host again, you need to issue the ``FLUSH HOSTS`` statement.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 37
+ },
+ "hiddenSeries": false,
+ "id": 47,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_aborted_connects{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Aborted Connects (attempts)",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_aborted_clients{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Aborted Clients (timeout)",
+ "metric": "",
+ "refId": "B",
+ "step": 20,
+ "target": ""
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Aborted Connections",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "**Table Locks**\n\nMySQL takes a number of different locks for varying reasons. In this graph we see how many Table level locks MySQL has requested from the storage engine. In the case of InnoDB, many times the locks could actually be row locks as it only takes table level locks in a few specific cases.\n\nIt is most useful to compare Locks Immediate and Locks Waited. If Locks waited is rising, it means you have lock contention. Otherwise, Locks Immediate rising and falling is normal activity.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 37
+ },
+ "hiddenSeries": false,
+ "id": 32,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_table_locks_immediate{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Table Locks Immediate",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_table_locks_waited{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Table Locks Waited",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Table Locks",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 44
+ },
+ "id": 388,
+ "panels": [ ],
+ "repeat": null,
+ "title": "Network",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "**MySQL Network Traffic**\n\nHere we can see how much network traffic is generated by MySQL. Outbound is network traffic sent from MySQL and Inbound is network traffic MySQL has received.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 45
+ },
+ "hiddenSeries": false,
+ "id": 9,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_bytes_received{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Inbound",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "sum(rate(mysql_global_status_bytes_sent{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Outbound",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "Bps",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "none",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 52
+ },
+ "id": 389,
+ "panels": [ ],
+ "repeat": null,
+ "title": "Memory",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 0,
+ "description": "***System Memory***: Total Memory for the system.\\\n***InnoDB Buffer Pool Data***: InnoDB maintains a storage area called the buffer pool for caching data and indexes in memory.\\\n***TokuDB Cache Size***: Similar in function to the InnoDB Buffer Pool, TokuDB will allocate 50% of the installed RAM for its own cache.\\\n***Key Buffer Size***: Index blocks for MYISAM tables are buffered and are shared by all threads. key_buffer_size is the size of the buffer used for index blocks.\\\n***Adaptive Hash Index Size***: When InnoDB notices that some index values are being accessed very frequently, it builds a hash index for them in memory on top of B-Tree indexes.\\\n ***Query Cache Size***: The query cache stores the text of a SELECT statement together with the corresponding result that was sent to the client. The query cache has huge scalability problems in that only one thread can do an operation in the query cache at the same time.\\\n***InnoDB Dictionary Size***: The data dictionary is InnoDB ‘s internal catalog of tables. InnoDB stores the data dictionary on disk, and loads entries into memory while the server is running.\\\n***InnoDB Log Buffer Size***: The MySQL InnoDB log buffer allows transactions to run without having to write the log to disk before the transactions commit.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 53
+ },
+ "hiddenSeries": false,
+ "id": 50,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Detailed descriptions about metrics",
+ "url": "https://www.percona.com/doc/percona-monitoring-and-management/dashboard.mysql-overview.html#mysql-internal-memory-overview"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "System Memory",
+ "fill": 0,
+ "stack": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(mysql_global_status_innodb_page_size{job=~\"$job\", instance=~\"$instance\"} * on (instance) mysql_global_status_buffer_pool_pages{job=~\"$job\", instance=~\"$instance\", state=\"data\"})",
+ "format": "time_series",
+ "hide": false,
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "InnoDB Buffer Pool Data",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "sum(mysql_global_variables_innodb_log_buffer_size{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "InnoDB Log Buffer Size",
+ "refId": "D",
+ "step": 20
+ },
+ {
+ "expr": "sum(mysql_global_variables_innodb_additional_mem_pool_size{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "InnoDB Additional Memory Pool Size",
+ "refId": "H",
+ "step": 40
+ },
+ {
+ "expr": "sum(mysql_global_status_innodb_mem_dictionary{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "InnoDB Dictionary Size",
+ "refId": "F",
+ "step": 20
+ },
+ {
+ "expr": "sum(mysql_global_variables_key_buffer_size{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Key Buffer Size",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "expr": "sum(mysql_global_variables_query_cache_size{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Query Cache Size",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "expr": "sum(mysql_global_status_innodb_mem_adaptive_hash{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Adaptive Hash Index Size",
+ "refId": "E",
+ "step": 20
+ },
+ {
+ "expr": "sum(mysql_global_variables_tokudb_cache_size{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "TokuDB Cache Size",
+ "refId": "I",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Internal Memory Overview",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "bytes",
+ "label": "",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 60
+ },
+ "id": 390,
+ "panels": [ ],
+ "repeat": null,
+ "title": "Command, Handlers, Processes",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "**Top Command Counters**\n\nThe Com_{{xxx}} statement counter variables indicate the number of times each xxx statement has been executed. There is one status variable for each type of statement. For example, Com_delete and Com_update count [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements, respectively. Com_delete_multi and Com_update_multi are similar but apply to [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements that use multiple-table syntax.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 61
+ },
+ "hiddenSeries": false,
+ "id": 14,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (Com_xxx)",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Com_xxx"
+ }
+ ],
+ "nullPointMode": "null as zero",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "topk(5, rate(mysql_global_status_commands_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])>0)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Com_{{ command }}",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "Top Command Counters",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "**MySQL Handlers**\n\nHandler statistics are internal statistics on how MySQL is selecting, updating, inserting, and modifying rows, tables, and indexes.\n\nThis is in fact the layer between the Storage Engine and MySQL.\n\n* `read_rnd_next` is incremented when the server performs a full table scan and this is a counter you don't really want to see with a high value.\n* `read_key` is incremented when a read is done with an index.\n* `read_next` is incremented when the storage engine is asked to 'read the next index entry'. A high value means a lot of index scans are being done.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 68
+ },
+ "hiddenSeries": false,
+ "id": 8,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "rate(mysql_global_status_handlers_total{job=~\"$job\",instance=~\"$instance\", handler!~\"commit|rollback|savepoint.*|prepare\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "{{ handler }}",
+ "metric": "",
+ "refId": "J",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Handlers",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "MySQL Transaction Handlers",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 75
+ },
+ "hiddenSeries": false,
+ "id": 28,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "rate(mysql_global_status_handlers_total{job=~\"$job\",instance=~\"$instance\", handler=~\"commit|rollback|savepoint.*|prepare\"}[$__rate_interval])",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "{{ handler }}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Transaction Handlers",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "Process States",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 0,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 82
+ },
+ "hiddenSeries": false,
+ "id": 40,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [ ],
+ "nullPointMode": "null as zero",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "mysql_info_schema_processlist_threads{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "{{ state }}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "Process States",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": { },
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "Top Process States Hourly",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 89
+ },
+ "hiddenSeries": false,
+ "id": 49,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "topk(5, avg_over_time(mysql_info_schema_processlist_threads{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "{{ state }}",
+ "metric": "",
+ "refId": "A",
+ "step": 3600
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": "24h",
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "Top Process States Hourly",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 96
+ },
+ "id": 391,
+ "panels": [ ],
+ "repeat": null,
+ "title": "Query Cache",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "**MySQL Query Cache Memory**\n\nThe query cache has huge scalability problems in that only one thread can do an operation in the query cache at the same time. This serialization is true not only for SELECTs, but also for INSERT/UPDATE/DELETE.\n\nThis also means that the larger the `query_cache_size` is set to, the slower those operations become. In concurrent environments, the MySQL Query Cache quickly becomes a contention point, decreasing performance. MariaDB and AWS Aurora have done work to try and eliminate the query cache contention in their flavors of MySQL, while MySQL 8.0 has eliminated the query cache feature.\n\nThe recommended settings for most environments is to set:\n ``query_cache_type=0``\n ``query_cache_size=0``\n\nNote that while you can dynamically change these values, to completely remove the contention point you have to restart the database.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 97
+ },
+ "hiddenSeries": false,
+ "id": 46,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "mysql_global_status_qcache_free_memory{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Free Memory",
+ "metric": "",
+ "refId": "F",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "mysql_global_variables_query_cache_size{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Query Cache Size",
+ "metric": "",
+ "refId": "E",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Query Cache Memory",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "**MySQL Query Cache Activity**\n\nThe query cache has huge scalability problems in that only one thread can do an operation in the query cache at the same time. This serialization is true not only for SELECTs, but also for INSERT/UPDATE/DELETE.\n\nThis also means that the larger the `query_cache_size` is set to, the slower those operations become. In concurrent environments, the MySQL Query Cache quickly becomes a contention point, decreasing performance. MariaDB and AWS Aurora have done work to try and eliminate the query cache contention in their flavors of MySQL, while MySQL 8.0 has eliminated the query cache feature.\n\nThe recommended settings for most environments is to set:\n``query_cache_type=0``\n``query_cache_size=0``\n\nNote that while you can dynamically change these values, to completely remove the contention point you have to restart the database.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 97
+ },
+ "height": "",
+ "hiddenSeries": false,
+ "id": 45,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "rate(mysql_global_status_qcache_hits{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Hits",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "rate(mysql_global_status_qcache_inserts{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Inserts",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "rate(mysql_global_status_qcache_not_cached{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Not Cached",
+ "metric": "",
+ "refId": "D",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "rate(mysql_global_status_qcache_lowmem_prunes{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Prunes",
+ "metric": "",
+ "refId": "F",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "mysql_global_status_qcache_queries_in_cache{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Queries in Cache",
+ "metric": "",
+ "refId": "E",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Query Cache Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 104
+ },
+ "id": 392,
+ "panels": [ ],
+ "repeat": null,
+ "title": "Files and Tables",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "MySQL File Openings",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 105
+ },
+ "hiddenSeries": false,
+ "id": 43,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "rate(mysql_global_status_opened_files{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Openings",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL File Openings",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "MySQL Open Files",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 105
+ },
+ "hiddenSeries": false,
+ "id": 41,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "mysql_global_status_open_files{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Open Files",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "mysql_global_variables_open_files_limit{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Open Files Limit",
+ "metric": "",
+ "refId": "D",
+ "step": 20
+ },
+ {
+ "expr": "mysql_global_status_innodb_num_open_files{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "InnoDB Open Files",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Open Files",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 112
+ },
+ "id": 393,
+ "panels": [ ],
+ "repeat": null,
+ "title": "Table Openings",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "**MySQL Table Open Cache Status**\n\nThe recommendation is to set the `table_open_cache_instances` to a loose correlation to virtual CPUs, keeping in mind that more instances means the cache is split more times. If you have a cache set to 500 but it has 10 instances, each cache will only have 50 cached.\n\nThe `table_definition_cache` and `table_open_cache` can be left as default as they are auto-sized MySQL 5.6 and above (ie: do not set them to any value).",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 113
+ },
+ "hiddenSeries": false,
+ "id": 44,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (table_open_cache)",
+ "url": "http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_table_open_cache"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Table Open Cache Hit Ratio",
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "rate(mysql_global_status_opened_tables{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Openings",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "rate(mysql_global_status_table_open_cache_hits{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Hits",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "expr": "rate(mysql_global_status_table_open_cache_misses{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Misses",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "expr": "rate(mysql_global_status_table_open_cache_overflows{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Misses due to Overflows",
+ "refId": "D",
+ "step": 20
+ },
+ {
+ "expr": "rate(mysql_global_status_table_open_cache_hits{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])/(rate(mysql_global_status_table_open_cache_hits{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])+rate(mysql_global_status_table_open_cache_misses{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Table Open Cache Hit Ratio",
+ "refId": "E",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Table Open Cache Status",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "percentunit",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "**MySQL Open Tables**\n\nThe recommendation is to set the `table_open_cache_instances` to a loose correlation to virtual CPUs, keeping in mind that more instances means the cache is split more times. If you have a cache set to 500 but it has 10 instances, each cache will only have 50 cached.\n\nThe `table_definition_cache` and `table_open_cache` can be left as default as they are auto-sized MySQL 5.6 and above (ie: do not set them to any value).",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 113
+ },
+ "hiddenSeries": false,
+ "id": 42,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (table_open_cache)",
+ "url": "http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_table_open_cache"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "mysql_global_status_open_tables{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Open Tables",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "mysql_global_variables_table_open_cache{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Table Open Cache",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Open Tables",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 120
+ },
+ "id": 394,
+ "panels": [ ],
+ "repeat": null,
+ "title": "MySQL Table Definition Cache",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "decimals": 2,
+ "description": "**MySQL Table Definition Cache**\n\nThe recommendation is to set the `table_open_cache_instances` to a loose correlation to virtual CPUs, keeping in mind that more instances means the cache is split more times. If you have a cache set to 500 but it has 10 instances, each cache will only have 50 cached.\n\nThe `table_definition_cache` and `table_open_cache` can be left as default as they are auto-sized MySQL 5.6 and above (ie: do not set them to any value).",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": { },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 121
+ },
+ "hiddenSeries": false,
+ "id": 54,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (table_open_cache)",
+ "url": "http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_table_open_cache"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [ ]
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Opened Table Definitions",
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "mysql_global_status_open_table_definitions{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Open Table Definitions",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": { },
+ "errors": { },
+ "expr": "mysql_global_variables_table_definition_cache{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Table Definitions Cache Size",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "expr": "rate(mysql_global_status_opened_table_definitions{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "Opened Table Definitions",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "MySQL Table Definition Cache",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "max": null,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ }
+ ],
+ "refresh": "10s",
+ "schemaVersion": 25,
+ "style": "dark",
+ "tags": [ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": "hosted-grafana/cloudsql-proxy-mysql-exporter",
+ "value": [
+ "hosted-grafana/cloudsql-proxy-mysql-exporter"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up, job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(mysql_up, job)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "tags": [ ],
+ "text": "All",
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up, instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(mysql_up, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "collapse": false,
+ "enable": true,
+ "hidden": false,
+ "notice": false,
+ "now": true,
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "status": "Stable",
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ],
+ "type": "timepicker"
+ },
+ "timezone": "",
+ "title": "MySQL",
+ "uid": "549c2bf8936f7767ea6ac47c47b00f2a",
+ "version": 1
+}
diff --git a/assets/mysql/rules.yaml b/assets/mysql/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/mysql/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/nginx/alerts.yaml b/assets/nginx/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/nginx/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/nginx/dashboards/nginx-overview.json b/assets/nginx/dashboards/nginx-overview.json
new file mode 100644
index 0000000..1b1000b
--- /dev/null
+++ b/assets/nginx/dashboards/nginx-overview.json
@@ -0,0 +1,2137 @@
+{
+ "__elements": { },
+ "__inputs": [ ],
+ "__requires": [
+ {
+ "id": "geomap",
+ "name": "Geomap",
+ "type": "panel",
+ "version": ""
+ },
+ {
+ "id": "grafana",
+ "name": "Grafana",
+ "type": "grafana",
+ "version": "10.0.1-cloud.3.f250259e"
+ },
+ {
+ "id": "graphite",
+ "name": "Graphite",
+ "type": "datasource",
+ "version": "1.0.0"
+ },
+ {
+ "id": "logs",
+ "name": "Logs",
+ "type": "panel",
+ "version": ""
+ },
+ {
+ "id": "loki",
+ "name": "Loki",
+ "type": "datasource",
+ "version": "1.0.0"
+ },
+ {
+ "id": "stat",
+ "name": "Stat",
+ "type": "panel",
+ "version": ""
+ },
+ {
+ "id": "table",
+ "name": "Table",
+ "type": "panel",
+ "version": ""
+ },
+ {
+ "id": "text",
+ "name": "Text",
+ "type": "panel",
+ "version": ""
+ },
+ {
+ "id": "timeseries",
+ "name": "Time series",
+ "type": "panel",
+ "version": ""
+ }
+ ],
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Loki v2+ showcase using JSON NGINX access logs.",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 12559,
+ "graphTooltip": 0,
+ "id": null,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 24,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "KPI's",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "purple",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 5,
+ "x": 0,
+ "y": 1
+ },
+ "hideTimeOverride": false,
+ "id": 4,
+ "maxDataPoints": 300,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "value"
+ },
+ "pluginVersion": "10.0.1-cloud.3.f250259e",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by(host) (count_over_time({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"}[$__interval])) ",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "timeFrom": "24h",
+ "title": "Total requests ",
+ "transformations": [ ],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "rgba(110, 157, 228, 0.76)",
+ "value": null
+ },
+ {
+ "color": "rgba(73, 124, 202, 1)",
+ "value": 20
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 7,
+ "x": 5,
+ "y": 1
+ },
+ "id": 5,
+ "maxDataPoints": 20,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.1-cloud.3.f250259e",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by (status) (count_over_time({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"} | json | __error__=\"\" [$__interval]))",
+ "instant": false,
+ "legendFormat": "HTTP Status: {{status}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Requests per status code",
+ "transformations": [ ],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "semi-dark-orange",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 12,
+ "y": 1
+ },
+ "id": 30,
+ "maxDataPoints": 1,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.1-cloud.3.f250259e",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "bytes_over_time({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"}[$__interval])",
+ "instant": true,
+ "legendFormat": "$label_value",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "title": "NGINX logs in bytes",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "purple",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 15,
+ "y": 1
+ },
+ "id": 8,
+ "maxDataPoints": 1,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "value"
+ },
+ "pluginVersion": "10.0.1-cloud.3.f250259e",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by (host) (sum_over_time({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"} | json | unwrap body_bytes_sent | __error__=\"\" [$__interval]))",
+ "instant": true,
+ "legendFormat": "Bytes sent",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "title": "Total Bytes Sent",
+ "transformations": [ ],
+ "type": "stat"
+ },
+ { },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "purple",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 5,
+ "x": 0,
+ "y": 5
+ },
+ "id": 22,
+ "interval": "5m",
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "value"
+ },
+ "pluginVersion": "10.0.1-cloud.3.f250259e",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "count(sum by (remote_addr) (count_over_time({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"} | json | __error__=\"\" [$__interval])))",
+ "instant": true,
+ "legendFormat": "",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "timeFrom": "5m",
+ "title": "Realtime visitors ",
+ "transformations": [ ],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "semi-dark-orange",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 12,
+ "y": 5
+ },
+ "id": 31,
+ "maxDataPoints": 1,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.1-cloud.3.f250259e",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "count_over_time({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"}[$__interval])",
+ "instant": true,
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "title": "# NGINX log lines",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "purple",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 15,
+ "y": 5
+ },
+ "hideTimeOverride": true,
+ "id": 19,
+ "links": [ ],
+ "maxDataPoints": 1,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "value"
+ },
+ "pluginVersion": "10.0.1-cloud.3.f250259e",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(count_over_time({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"} | json | status >= 500 |__error__=\"\"[$__interval])) / (sum(count_over_time({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"} | json | __error__=\"\"[$__interval]))/ 100)",
+ "instant": false,
+ "legendFormat": "",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "timeFrom": "1h",
+ "title": "% of 5xx requests ",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "purple",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 18,
+ "y": 5
+ },
+ "hideTimeOverride": true,
+ "id": 18,
+ "interval": "10m",
+ "links": [ ],
+ "maxDataPoints": 1,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "value"
+ },
+ "pluginVersion": "10.0.1-cloud.3.f250259e",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(count_over_time(({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"} |= \"Googlebot\")[$__interval])) / (sum(count_over_time(({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"} != \"Googlebot\")[$__interval])) / 100)",
+ "instant": true,
+ "legendFormat": "",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "timeFrom": "1h",
+ "title": "% of requests by Googlebot",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#96D98D",
+ "value": null
+ },
+ {
+ "color": "#73BF69",
+ "value": 5
+ },
+ {
+ "color": "#56A64B",
+ "value": 10
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 12,
+ "x": 0,
+ "y": 9
+ },
+ "id": 14,
+ "maxDataPoints": 1,
+ "options": {
+ "basemap": {
+ "config": {
+ "server": "streets"
+ },
+ "name": "Layer 0",
+ "type": "esri-xyz"
+ },
+ "controls": {
+ "mouseWheelZoom": false,
+ "showAttribution": true,
+ "showDebug": false,
+ "showMeasure": false,
+ "showScale": false,
+ "showZoom": true
+ },
+ "layers": [
+ {
+ "config": {
+ "color": {
+ "fixed": "semi-dark-blue"
+ },
+ "fillOpacity": 0.29999999999999999,
+ "shape": "circle",
+ "showLegend": true,
+ "size": {
+ "field": "Value",
+ "fixed": 5,
+ "max": 50,
+ "min": 10
+ },
+ "style": {
+ "color": {
+ "fixed": "purple"
+ },
+ "size": {
+ "field": "Total",
+ "fixed": 5,
+ "max": 40,
+ "min": 10
+ }
+ }
+ },
+ "location": {
+ "lookup": "Field",
+ "mode": "lookup"
+ },
+ "name": "Layer 1",
+ "type": "markers"
+ }
+ ],
+ "tooltip": {
+ "mode": "details"
+ },
+ "view": {
+ "allLayers": true,
+ "id": "zero",
+ "lat": 0,
+ "lon": 0,
+ "zoom": 2
+ }
+ },
+ "pluginVersion": "10.0.1-cloud.3.f250259e",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by (geoip_country_code) (count_over_time({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"} | json | geoip_country_code != \"\" | __error__=\"\" [$__interval]))",
+ "instant": false,
+ "legendFormat": "{{geoip_country_code}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Requests per Country",
+ "transformations": [
+ {
+ "id": "reduce",
+ "options": {
+ "reducers": [
+ "sum"
+ ]
+ }
+ }
+ ],
+ "type": "geomap"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlPu"
+ },
+ "custom": {
+ "align": "center",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "mappings": [
+ {
+ "options": {
+ "CN": {
+ "color": "transparent",
+ "index": 4,
+ "text": "🇨🇳CN"
+ },
+ "DE": {
+ "color": "transparent",
+ "index": 2,
+ "text": "🇩🇪DE"
+ },
+ "FR": {
+ "color": "transparent",
+ "index": 3,
+ "text": "🇫🇷FR"
+ },
+ "GB": {
+ "color": "transparent",
+ "index": 7,
+ "text": "🇬🇧GB"
+ },
+ "IN": {
+ "color": "transparent",
+ "index": 5,
+ "text": "🇮🇳IN"
+ },
+ "IT": {
+ "color": "transparent",
+ "index": 6,
+ "text": "🇮🇹IT"
+ },
+ "NL": {
+ "color": "transparent",
+ "index": 1,
+ "text": "🇳🇱NL"
+ },
+ "US": {
+ "color": "transparent",
+ "index": 0,
+ "text": "🇺🇸 US"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 11,
+ "w": 3,
+ "x": 12,
+ "y": 9
+ },
+ "hideTimeOverride": true,
+ "id": 32,
+ "maxDataPoints": 1,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": false,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "Requests"
+ }
+ ]
+ },
+ "pluginVersion": "10.0.1-cloud.3.f250259e",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "topk(10, sum by (geoip_country_code) (count_over_time({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"} | json | geoip_country_code != \"\" and __error__=\"\" [$__interval])))",
+ "instant": true,
+ "legendFormat": "{{remote_addr}}",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "timeFrom": "15m",
+ "title": "Top Countries",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Field": false,
+ "Time": true,
+ "Value #A": true
+ },
+ "indexByName": {
+ "Time": 0,
+ "Value #A": 3,
+ "geoip_country_code": 2,
+ "remote_addr": 1
+ },
+ "renameByName": {
+ "Field": "IP Address",
+ "Total": "Requests",
+ "Value #A": "Requests",
+ "geoip_country_code": "Country",
+ "remote_addr": "IP Address "
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "gridPos": {
+ "h": 11,
+ "w": 9,
+ "x": 15,
+ "y": 9
+ },
+ "id": 11,
+ "options": {
+ "dedupStrategy": "signature",
+ "enableLogDetails": false,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "{$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"} | json | line_format \"➡️ {{.request_method}} {{.request_uri}} with HTTP status: {{.status}} \"",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Recent requests",
+ "type": "logs"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 20
+ },
+ "id": 26,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Request statistics over time",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "hue",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "area"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "#EAB839",
+ "value": 0.20000000000000001
+ },
+ {
+ "color": "red",
+ "value": 0.29999999999999999
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "95th percentile"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max latency"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "super-light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "max latency"
+ },
+ "properties": [
+ {
+ "id": "custom.fillOpacity",
+ "value": 30
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 0,
+ "y": 21
+ },
+ "id": 16,
+ "maxDataPoints": 50,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.0.0-beta3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "quantile_over_time(0.95,{$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"} | json | unwrap request_time | __error__=\"\" [$__interval]) by (host)",
+ "legendFormat": "95th percentile",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "max by (host) (max_over_time({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"} | json | unwrap request_time | __error__=\"\" [$__interval]))",
+ "legendFormat": "max latency",
+ "refId": "D"
+ }
+ ],
+ "title": "95th percentile of Request Time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 39,
+ "gradientMode": "hue",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP Status 500"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "{statuscode=\"200\"} 200"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "{statuscode=\"404\"} 404"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "{statuscode=\"500\"} 500"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP Status 404"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP Status 301"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP Status 200"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 8,
+ "y": 21
+ },
+ "id": 2,
+ "maxDataPoints": 50,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.0.0-beta3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by (status) (count_over_time({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"} | json | __error__=\"\" [$__interval]))",
+ "legendFormat": "HTTP Status {{status}}",
+ "refId": "A"
+ }
+ ],
+ "title": "HTTP status codes over time",
+ "transformations": [
+ {
+ "id": "filterFieldsByName",
+ "options": {
+ "include": {
+ "names": [
+ "Time",
+ "HTTP Status 200",
+ "HTTP Status 301",
+ "HTTP Status 304",
+ "HTTP Status 404",
+ "HTTP Status 406",
+ "HTTP Status 500"
+ ]
+ }
+ }
+ }
+ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "hue",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Bytes sent"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "appfelstrudel"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 16,
+ "y": 21
+ },
+ "id": 9,
+ "maxDataPoints": 50,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.0.0-beta3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by (host) (sum_over_time({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"} | json | status=200 | unwrap body_bytes_sent | __error__=\"\" [$__interval]))",
+ "legendFormat": "Bytes sent",
+ "refId": "A"
+ }
+ ],
+ "title": "Bytes Sent",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 30
+ },
+ "id": 28,
+ "panels": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Requests"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "gradient",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlPu"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Requests"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 300
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 9,
+ "x": 0,
+ "y": 31
+ },
+ "id": 6,
+ "maxDataPoints": 1,
+ "options": {
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "Requests"
+ }
+ ]
+ },
+ "pluginVersion": "8.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "topk(10, sum by (http_referer) (count_over_time({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"} | json | http_referer != \"\" and http_referer !~ \".*?$host.*?\" and http_referer !~ \".*?\\\\*\\\\*\\\\*.*?\" | __error__=\"\" [15m])))",
+ "instant": true,
+ "legendFormat": "{{http_referer}}",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "timeFrom": "15m",
+ "title": "Top 10 HTTP Referers",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": {
+ "Field": "Referer",
+ "Total": "Requests",
+ "Value #A": "Requests",
+ "http_referer": "HTTP Referrer"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Requests"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 300
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "gradient",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlPu"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 15,
+ "x": 9,
+ "y": 31
+ },
+ "id": 7,
+ "maxDataPoints": 1,
+ "options": {
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "Requests"
+ }
+ ]
+ },
+ "pluginVersion": "8.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "topk(10, sum by (http_user_agent) (count_over_time({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"} | json | __error__=\"\" [15m])))",
+ "instant": true,
+ "legendFormat": "{{http_user_agent}}",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "timeFrom": "15m",
+ "title": "Top 10 User Agents",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Field": false,
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": {
+ "Field": "Agent",
+ "Total": "Requests",
+ "Value #A": "Requests",
+ "http_user_agent": "User agent"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false
+ },
+ "mappings": [
+ {
+ "options": {
+ "NL": {
+ "index": 1,
+ "text": "🇳🇱"
+ },
+ "US": {
+ "index": 0,
+ "text": "🇺🇸"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Requests"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 300
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "gradient",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlPu"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Country"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 74
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 9,
+ "x": 0,
+ "y": 37
+ },
+ "id": 3,
+ "maxDataPoints": 1,
+ "options": {
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "Requests"
+ }
+ ]
+ },
+ "pluginVersion": "8.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "topk(10, sum by (remote_addr, geoip_country_code) (count_over_time({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"} | json | __error__=\"\" [15m])))",
+ "instant": true,
+ "legendFormat": "{{remote_addr}}",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "timeFrom": "15m",
+ "title": "Top 10 visitor IPs",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Field": false,
+ "Time": true
+ },
+ "indexByName": {
+ "Time": 0,
+ "Value #A": 3,
+ "geoip_country_code": 2,
+ "remote_addr": 1
+ },
+ "renameByName": {
+ "Field": "IP Address",
+ "Total": "Requests",
+ "Value #A": "Requests",
+ "geoip_country_code": "Country",
+ "remote_addr": "IP Address "
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Requests"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 300
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "gradient",
+ "type": "gauge"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlPu"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 15,
+ "x": 9,
+ "y": 37
+ },
+ "id": 12,
+ "maxDataPoints": 1,
+ "options": {
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "Requests"
+ }
+ ]
+ },
+ "pluginVersion": "8.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "topk(10, sum by (request_uri) (count_over_time({$label_name=~\"$label_value\", job=~\"$job\", instance=~\"$instance\", cluster=\"$cluster\"} !~ `\\.ico|\\.svg|\\.css|\\.png|\\.txt|\\.js|\\.xml` | json | status = 200 and request_uri != \"/\" | __error__=\"\" [15m])))",
+ "instant": true,
+ "legendFormat": "{{request_uri}}",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "timeFrom": "15m",
+ "title": "Top 10 Requested Pages",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": {
+ "Field": "Page",
+ "Time": "",
+ "Total": "",
+ "Value #A": "Requests",
+ "request_uri": "Path"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Acquisition and Behaviour",
+ "type": "row"
+ }
+ ],
+ "refresh": "",
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": [
+ "loki",
+ "ds-example"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "loki",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".*",
+ "datasource": "$datasource",
+ "includeAll": true,
+ "label": "Cluster name",
+ "multi": false,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values({},cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": { },
+ "datasource": {
+ "type": "loki",
+ "uid": "$datasource"
+ },
+ "definition": "label_names()",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Label Name",
+ "multi": false,
+ "name": "label_name",
+ "options": [ ],
+ "query": "label_names()",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 2,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "type": "loki",
+ "uid": "$datasource"
+ },
+ "definition": "label_values($label_name)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Label Value",
+ "multi": true,
+ "name": "label_value",
+ "options": [ ],
+ "query": "label_values($label_name)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "type": "loki",
+ "uid": "$datasource"
+ },
+ "definition": "label_values({$label_name=~\"$label_value\", cluster=\"$cluster\"}, job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values({$label_name=~\"$label_value\", cluster=\"$cluster\"}, job)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "type": "loki",
+ "uid": "$datasource"
+ },
+ "definition": "label_values({$label_name=~\"$label_value\", cluster=\"$cluster\"}, instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values({$label_name=~\"$label_value\", cluster=\"$cluster\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "Loki NGINX Service Mesh - JSON version",
+ "uid": "T512JVH7z",
+ "version": 18,
+ "weekStart": ""
+}
diff --git a/assets/nginx/rules.yaml b/assets/nginx/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/nginx/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/nodejs/alerts.yaml b/assets/nodejs/alerts.yaml
new file mode 100644
index 0000000..7382eb5
--- /dev/null
+++ b/assets/nodejs/alerts.yaml
@@ -0,0 +1,12 @@
+groups:
+- name: NodejsAlerts
+ rules:
+ - alert: NodejsDown
+ annotations:
+ description: Node.js {{$labels.job}} on {{$labels.instance}} is not up.
+ summary: Node.js not up.
+ expr: absent(nodejs_version_info) or (sum by (version) (nodejs_version_info) <
+ 1)
+ for: 0m
+ labels:
+ severity: critical
diff --git a/assets/nodejs/dashboards/nodejs-overview.json b/assets/nodejs/dashboards/nodejs-overview.json
new file mode 100644
index 0000000..bd0a09d
--- /dev/null
+++ b/assets/nodejs/dashboards/nodejs-overview.json
@@ -0,0 +1,1575 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "enable": true,
+ "expr": "process_start_time_seconds{job=~\"$job\", instance=~\"$instance\"} * 1000",
+ "hide": false,
+ "iconColor": "#B877D9",
+ "name": "Node.js Start",
+ "showIn": 0,
+ "textFormat": "{{instance}}",
+ "titleFormat": "Node.js Start",
+ "useValueForTime": true
+ }
+ ]
+ },
+ "description": "Monitor an application built using Node.js",
+ "editable": false,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 11,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Overview",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The version of Node.js.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 3,
+ "x": 0,
+ "y": 1
+ },
+ "id": 2,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "first"
+ ],
+ "fields": "/^version$/",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nodejs_version_info{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Node.js Version",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The number of times Node.js restarted.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 3,
+ "x": 3,
+ "y": 1
+ },
+ "id": 3,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(changes(process_start_time_seconds{job=~\"$job\", instance=~\"$instance\", hostname=~\"$hostname\"}[$__range]))",
+ "instant": false,
+ "legendFormat": "Node.js",
+ "refId": "A"
+ }
+ ],
+ "title": "Node.js Restarts",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 3
+ },
+ "id": 4,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Process",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "CPU usage.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 0,
+ "y": 4
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "irate(process_cpu_user_seconds_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) * 100",
+ "interval": "",
+ "legendFormat": "User CPU - {{instance}}",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "irate(process_cpu_system_seconds_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) * 100",
+ "interval": "",
+ "legendFormat": "System CPU - {{instance}}",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "irate(process_cpu_seconds_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) * 100",
+ "interval": "",
+ "legendFormat": "Total CPU - {{instance}}",
+ "refId": "C"
+ }
+ ],
+ "title": "CPU Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "CPU time spent.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 8,
+ "y": 4
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "rate(process_cpu_seconds_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "CPU Time Spent",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Memory usage.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 16,
+ "y": 4
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "process_resident_memory_bytes{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "Process Memory - {{instance}}",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nodejs_heap_size_total_bytes{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "Heap Total - {{instance}}",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nodejs_heap_size_used_bytes{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "Heap Used - {{instance}}",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nodejs_external_memory_bytes{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "External Memory - {{instance}}",
+ "refId": "D"
+ }
+ ],
+ "title": "Memory Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Number of active handle and active requests.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 13
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nodejs_active_handles_total{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "Active Handler - {{instance}}",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nodejs_active_requests_total{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "Active Request - {{instance}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Active Handlers and Requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Latency of the event loop.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 13
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nodejs_eventloop_lag_seconds{job=~\"$job\", instance=~\"$instance\"}",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "legendFormat": "Last - {{instance}}",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nodejs_eventloop_lag_p99_seconds{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "P99 - {{instance}}",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nodejs_eventloop_lag_p50_seconds{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "P50 - {{instance}}",
+ "refId": "C"
+ }
+ ],
+ "title": "Event Loop Latency",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 22
+ },
+ "id": 10,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Garbage Collector",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Rate of garbage collection duration.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 23
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "rate(nodejs_gc_duration_seconds_sum{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "{{kind}} - {{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "GC Duration Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Duration of garbage collection.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 23
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nodejs_gc_duration_seconds_sum{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{kind}} - {{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "GC Duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Usage of heap memory.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 23
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nodejs_heap_size_total_bytes{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "Total - {{instance}}",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nodejs_heap_size_used_bytes{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "Used - {{instance}}",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "process_resident_memory_bytes{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "Resident - {{instance}}",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nodejs_external_memory_bytes{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "External - {{instance}}",
+ "refId": "D"
+ }
+ ],
+ "title": "Heap Memory Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Rate of garbage collection.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 31
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "rate(nodejs_gc_duration_seconds_count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "{{instance}} - {{kind}}",
+ "refId": "A"
+ }
+ ],
+ "title": "GC Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Count of garbage collection.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 2,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 31
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nodejs_gc_duration_seconds_count{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{kind}} - {{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "GC Count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Usage of heap space.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 31
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nodejs_heap_space_size_used_bytes{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{space}} - {{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Heap Space Used",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 38,
+ "tags": [
+ "nodejs-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(nodejs_eventloop_lag_seconds, job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(nodejs_eventloop_lag_seconds, job)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(nodejs_eventloop_lag_seconds, instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(nodejs_eventloop_lag_seconds, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "Node.js",
+ "uid": "yX2d7k1Gk",
+ "version": 1,
+ "weekStart": ""
+}
diff --git a/assets/nodejs/rules.yaml b/assets/nodejs/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/nodejs/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/nomad/alerts.yaml b/assets/nomad/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/nomad/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/nomad/dashboards/nomad-cluster.json b/assets/nomad/dashboards/nomad-cluster.json
new file mode 100644
index 0000000..c0a6e1c
--- /dev/null
+++ b/assets/nomad/dashboards/nomad-cluster.json
@@ -0,0 +1,1089 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 1,
+ "id": 8,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 24,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Allocations",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "CPU allocated on $instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "yellow",
+ "value": 80
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 0,
+ "y": 1
+ },
+ "id": 33,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true,
+ "text": { }
+ },
+ "pluginVersion": "10.2.1",
+ "repeat": "instance",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nomad_client_allocated_cpu{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"}/(nomad_client_unallocated_cpu{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"}+nomad_client_allocated_cpu{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"})*100",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "CPU allocated",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Memory allocated on $instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "yellow",
+ "value": 80
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 5,
+ "y": 1
+ },
+ "id": 40,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true,
+ "text": { }
+ },
+ "pluginVersion": "10.2.1",
+ "repeat": "instance",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nomad_client_allocated_memory{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"}/(nomad_client_unallocated_memory{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"}+nomad_client_allocated_memory{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"})*100",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Memory allocated",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Disk allocated on $instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "yellow",
+ "value": 80
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 10,
+ "y": 1
+ },
+ "id": 48,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true,
+ "text": { }
+ },
+ "pluginVersion": "10.2.1",
+ "repeat": "instance",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nomad_client_allocated_disk{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"}/(nomad_client_unallocated_disk{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"}+nomad_client_allocated_disk{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"})*100",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Disk allocated",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-GrYlRd"
+ },
+ "custom": {
+ "fillOpacity": 70,
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineWidth": 1,
+ "spanNulls": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "allocs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 9,
+ "x": 15,
+ "y": 1
+ },
+ "id": 58,
+ "links": [ ],
+ "options": {
+ "alignValue": "left",
+ "legend": {
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "mergeValues": true,
+ "rowHeight": 0.94999999999999996,
+ "showValue": "auto",
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "repeat": "instance",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "sum by (datacenter) (nomad_client_allocations_migrating{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Migrating",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "sum by (datacenter) (nomad_client_allocations_blocked{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Blocked",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "sum by (datacenter) (nomad_client_allocations_pending{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Pending",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "sum by (datacenter) (nomad_client_allocations_running{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Running",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "sum by (datacenter) (nomad_client_allocations_terminal{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Terminal",
+ "refId": "E"
+ }
+ ],
+ "title": "Summary",
+ "type": "state-timeline"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 6
+ },
+ "id": 2,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Nomad clients",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "dtdurations"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 0,
+ "y": 7
+ },
+ "id": 4,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "repeat": "instance",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nomad_client_uptime{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Uptime",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "yellow",
+ "value": 80
+ },
+ {
+ "color": "red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 4,
+ "y": 7
+ },
+ "id": 7,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true,
+ "text": { }
+ },
+ "pluginVersion": "10.2.1",
+ "repeat": "instance",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "100-sum(nomad_client_host_cpu_idle{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"}) / count(nomad_client_host_cpu_idle{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "CPU usage",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 9,
+ "y": 7
+ },
+ "id": 11,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "repeat": "instance",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nomad_client_host_memory_total{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Total",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nomad_client_host_memory_free{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Free",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nomad_client_host_memory_used{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Used",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "nomad_client_host_memory_available{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Available",
+ "refId": "D"
+ }
+ ],
+ "title": "Memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 14,
+ "y": 7
+ },
+ "id": 13,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "repeat": "instance",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "max(nomad_client_host_disk_size{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"}) by (disk)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Total - {{disk}}",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg(nomad_client_host_disk_available{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"}) by (disk)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Available - {{disk}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Disk usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 5,
+ "x": 19,
+ "y": 7
+ },
+ "id": 15,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "repeat": "instance",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg(nomad_client_host_disk_inodes_percent{job=~\"$job\", datacenter=~\"$datacenter\", instance=~\"$instance\"}) by (disk)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{disk}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Disk inodes",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 37,
+ "style": "dark",
+ "tags": [
+ "nomad-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(nomad_client_uptime, job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(nomad_client_uptime, job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(nomad_client_uptime, datacenter)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "DC",
+ "multi": false,
+ "name": "datacenter",
+ "options": [ ],
+ "query": {
+ "query": "label_values(nomad_client_uptime, datacenter)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(nomad_client_uptime{datacenter=\"$datacenter\"}, instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(nomad_client_uptime{datacenter=\"$datacenter\"}, instance)",
+ "refId": "prometheus-instance-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Nomad cluster",
+ "uid": "CiP3mZVik",
+ "version": 4,
+ "weekStart": ""
+}
diff --git a/assets/nomad/dashboards/nomad-jobs.json b/assets/nomad/dashboards/nomad-jobs.json
new file mode 100644
index 0000000..b8ff35b
--- /dev/null
+++ b/assets/nomad/dashboards/nomad-jobs.json
@@ -0,0 +1,597 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Nomad jobs metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 6281,
+ "graphTooltip": 0,
+ "id": 10,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 9,
+ "panels": [ ],
+ "repeat": "instance",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "$instance",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 1
+ },
+ "id": 2,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "8.4.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg(nomad_client_allocs_cpu_total_percent{job=~\"$job\", instance=~\"$instance\"}) by(exported_job, task)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "CPU usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "timeticks"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 1
+ },
+ "id": 3,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "8.4.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "1_UFfQJGk"
+ },
+ "exemplar": true,
+ "expr": "avg(nomad_client_allocs_cpu_total_ticks{job=~\"$job\", instance=~\"$instance\"}) by (exported_job, task)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "CPU total ticks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 7
+ },
+ "id": 6,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "8.4.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "avg(nomad_client_allocs_memory_rss{job=~\"$job\", instance=~\"$instance\"}) by(exported_job, task)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "RSS",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 7
+ },
+ "id": 7,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "8.4.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "1_UFfQJGk"
+ },
+ "exemplar": true,
+ "expr": "avg(nomad_client_allocs_memory_cache{job=~\"$job\", instance=~\"$instance\"}) by (exported_job, task)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{task}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Memory cache",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 37,
+ "style": "dark",
+ "tags": [
+ "nomad-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(nomad_client_uptime, job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(nomad_client_uptime, job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(nomad_client_uptime, datacenter)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "DC",
+ "multi": false,
+ "name": "datacenter",
+ "options": [ ],
+ "query": {
+ "query": "label_values(nomad_client_uptime, datacenter)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(nomad_client_uptime{datacenter=~\"$datacenter\"}, instance)",
+ "refId": "prometheus-instance-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Nomad jobs",
+ "uid": "TvqbbhViz",
+ "version": 2,
+ "weekStart": ""
+}
diff --git a/assets/nomad/rules.yaml b/assets/nomad/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/nomad/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/nsq/alerts.yaml b/assets/nsq/alerts.yaml
new file mode 100644
index 0000000..1301123
--- /dev/null
+++ b/assets/nsq/alerts.yaml
@@ -0,0 +1,23 @@
+groups:
+- name: nsq
+ rules:
+ - alert: NsqTopicDepthIncreasing
+ annotations:
+ description: |
+ Topic {{ $labels.topic }} depth is higher than 100. The current queue is {{ $value }}.
+ summary: Topic depth is increasing.
+ expr: |
+ sum by (topic) (nsq_topic_depth) > 100
+ for: 5m
+ labels:
+ severity: critical
+ - alert: NsqChannelDepthIncreasing
+ annotations:
+ description: |
+ Channel {{ $labels.channel }} depth in topic {{ $labels.topic }} is higher than 100. The current queue is {{ $value }}.
+ summary: Topic channel depth is increasing.
+ expr: |
+ sum by (topic) (nsq_topic_channel_backend_depth) > 100
+ for: 5m
+ labels:
+ severity: critical
diff --git a/assets/nsq/dashboards/nsq-instances.json b/assets/nsq/dashboards/nsq-instances.json
new file mode 100644
index 0000000..d9c602c
--- /dev/null
+++ b/assets/nsq/dashboards/nsq-instances.json
@@ -0,0 +1,1308 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 1,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "nsq"
+ ],
+ "targetBlank": false,
+ "title": "Other NSQ dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "collapse": false,
+ "collapsed": false,
+ "gridPos": {
+ "h": 0,
+ "w": 0,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "panels": [ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Topics",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 0,
+ "lineInterpolation": "smooth",
+ "showPoints": "never"
+ },
+ "links": [
+ {
+ "title": "Show split by topics for ${__field.labels.instance}",
+ "url": "d/nsq-topics?var-instance=${__field.labels.instance}&${datasource:queryparam}&${job:queryparam}&${__url_time_range}"
+ }
+ ],
+ "unit": "ns"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 3,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "tooltip": {
+ "mode": "multi"
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg by (instance) (nsq_topic_e2e_processing_latency_99{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ instance }} p99",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$topic topic end-to-end processing time",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 0,
+ "lineInterpolation": "smooth",
+ "showPoints": "never"
+ },
+ "links": [
+ {
+ "title": "Show split by topics for ${__field.labels.instance}",
+ "url": "d/nsq-topics?var-instance=${__field.labels.instance}&${datasource:queryparam}&${job:queryparam}&${__url_time_range}"
+ }
+ ],
+ "unit": "reqps"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 4,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "tooltip": {
+ "mode": "multi"
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg by (instance) (rate(nsq_topic_message_count{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ instance }} rps",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$topic topic messages",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 0,
+ "lineInterpolation": "smooth",
+ "showPoints": "never"
+ },
+ "links": [
+ {
+ "title": "Show split by topics for ${__field.labels.instance}",
+ "url": "d/nsq-topics?var-instance=${__field.labels.instance}&${datasource:queryparam}&${job:queryparam}&${__url_time_range}"
+ }
+ ],
+ "unit": "short"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 5,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "tooltip": {
+ "mode": "multi"
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum by (instance) (nsq_topic_depth{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ instance }} depth",
+ "refId": "A"
+ },
+ {
+ "expr": "sum by (instance) (nsq_topic_backend_depth{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ instance }} memory+disk depth",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$topic topic depth",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "gridPos": {
+ "h": 0,
+ "w": 0,
+ "x": 0,
+ "y": 14
+ },
+ "id": 6,
+ "panels": [ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Channels",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 0,
+ "lineInterpolation": "smooth",
+ "showPoints": "never"
+ },
+ "links": [
+ {
+ "title": "Show split by channels for ${__field.labels.instance}",
+ "url": "d/nsq-topics?var-instance=${__field.labels.instance}&${datasource:queryparam}&${job:queryparam}&${__url_time_range}"
+ }
+ ],
+ "unit": "ns"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 7,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "tooltip": {
+ "mode": "multi"
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg by (instance) (nsq_topic_channel_e2e_processing_latency_99{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\",channel=~\"$channel\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ instance }} p99",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$channel channel end-to-end processing time",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 0,
+ "lineInterpolation": "smooth",
+ "showPoints": "never"
+ },
+ "links": [
+ {
+ "title": "Show split by channels for ${__field.labels.instance}",
+ "url": "d/nsq-topics?var-instance=${__field.labels.instance}&${datasource:queryparam}&${job:queryparam}&${__url_time_range}"
+ }
+ ]
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "id": 8,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "tooltip": {
+ "mode": "multi"
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum by (instance) (nsq_topic_channel_clients{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\",channel=~\"$channel\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ instance }}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$channel channel clients",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 0,
+ "lineInterpolation": "smooth",
+ "showPoints": "never"
+ },
+ "links": [
+ {
+ "title": "Show split by channels for ${__field.labels.instance}",
+ "url": "d/nsq-topics?var-instance=${__field.labels.instance}&${datasource:queryparam}&${job:queryparam}&${__url_time_range}"
+ }
+ ],
+ "unit": "short"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "id": 9,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "tooltip": {
+ "mode": "multi"
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum by (instance) (nsq_topic_channel_depth{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\",channel=~\"$channel\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ instance }} depth",
+ "refId": "A"
+ },
+ {
+ "expr": "sum by (instance) (nsq_topic_channel_backend_depth{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\",channel=~\"$channel\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ instance }} memory+disk depth",
+ "refId": "B"
+ },
+ {
+ "expr": "sum by (instance) (nsq_topic_channel_in_flight_count{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\",channel=~\"$channel\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ instance }} in-flight",
+ "refId": "C"
+ },
+ {
+ "expr": "avg by (instance) (rate(nsq_topic_channel_requeue_count{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\",channel=~\"$channel\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ instance }} requeue",
+ "refId": "D"
+ },
+ {
+ "expr": "avg by (instance) (rate(nsq_topic_channel_timeout_count{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\",channel=~\"$channel\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ instance }} timeout",
+ "refId": "E"
+ },
+ {
+ "expr": "sum by (instance) (nsq_topic_channel_deferred_count{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\",channel=~\"$channel\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ instance }} deferred",
+ "refId": "F"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "$channel channel stats",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "gridPos": {
+ "h": 0,
+ "w": 0,
+ "x": 0,
+ "y": 28
+ },
+ "id": 10,
+ "panels": [ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Memory",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Average memory usage if instance=All filter is selected",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 5,
+ "lineInterpolation": "smooth",
+ "showPoints": "never"
+ },
+ "unit": "decbytes"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 28
+ },
+ "id": 11,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "tooltip": {
+ "mode": "multi"
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg by (job) (nsq_mem_heap_in_use_bytes{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "heap in use",
+ "refId": "A"
+ },
+ {
+ "expr": "avg by (job) (nsq_mem_heap_idle_bytes{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "heap idle bytes",
+ "refId": "B"
+ },
+ {
+ "expr": "avg by (job) (nsq_mem_heap_released_bytes{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "heap bytes released",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Heap memory (avg)",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 5,
+ "lineInterpolation": "smooth",
+ "showPoints": "never"
+ },
+ "unit": "short"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 28
+ },
+ "id": 12,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "tooltip": {
+ "mode": "multi"
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "nsq_mem_heap_objects{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ instance }}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Heap objects",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "The number used bytes at which the runtime plans to perform the next garbage collection",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 5,
+ "lineInterpolation": "smooth",
+ "showPoints": "never"
+ },
+ "unit": "decbytes"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 36
+ },
+ "id": 13,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "tooltip": {
+ "mode": "multi"
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "nsq_mem_next_gc_bytes{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ instance }}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Next GC in bytes",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 5,
+ "lineInterpolation": "smooth",
+ "showPoints": "never"
+ },
+ "unit": "µs"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 36
+ },
+ "id": 14,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "tooltip": {
+ "mode": "multi"
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "nsq_mem_gc_pause_usec_100{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "hide": true,
+ "intervalFactor": 2,
+ "legendFormat": "p100 {{ instance }}",
+ "refId": "A"
+ },
+ {
+ "expr": "nsq_mem_gc_pause_usec_99{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 2,
+ "legendFormat": "p99 {{ instance }}",
+ "refId": "B"
+ },
+ {
+ "expr": "nsq_mem_gc_pause_usec_95{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "hide": true,
+ "intervalFactor": 2,
+ "legendFormat": "p95 {{ instance }}",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "GC pause time",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "nsq"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "text": "Prometheus",
+ "value": "Prometheus"
+ },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(nsq_topic_message_count, job)",
+ "refresh": 1,
+ "regex": "",
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(nsq_topic_message_count{job=~\"$job\"},instance)",
+ "refresh": 2,
+ "regex": "",
+ "type": "query"
+ },
+ {
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": null,
+ "multi": true,
+ "name": "topic",
+ "options": [ ],
+ "query": "label_values(nsq_topic_message_count{job=~\"$job\",instance=~\"$instance\"},topic)",
+ "refresh": 2,
+ "regex": "",
+ "type": "query"
+ },
+ {
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": null,
+ "multi": true,
+ "name": "channel",
+ "options": [ ],
+ "query": "label_values(nsq_topic_channel_message_count{job=~\"$job\",instance=~\"$instance\",topic=~\"$topic\"},channel)",
+ "refresh": 2,
+ "regex": "",
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "NSQ Instances",
+ "uid": "nsq-instances",
+ "version": 0
+}
diff --git a/assets/nsq/dashboards/nsq-topics.json b/assets/nsq/dashboards/nsq-topics.json
new file mode 100644
index 0000000..78d25ae
--- /dev/null
+++ b/assets/nsq/dashboards/nsq-topics.json
@@ -0,0 +1,917 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 1,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "nsq"
+ ],
+ "targetBlank": false,
+ "title": "Other NSQ dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "collapse": false,
+ "collapsed": false,
+ "gridPos": {
+ "h": 0,
+ "w": 0,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "panels": [ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Topics",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 0,
+ "lineInterpolation": "smooth",
+ "showPoints": "never"
+ },
+ "links": [
+ {
+ "title": "Show split by nsqd instances for ${__field.labels.topic}",
+ "url": "d/nsq-instances?var-topic=${__field.labels.topic}&${datasource:queryparam}&${job:queryparam}&$${__url_time_range}"
+ }
+ ],
+ "unit": "ns"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 3,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "tooltip": {
+ "mode": "multi"
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg without (instance) (nsq_topic_e2e_processing_latency_99{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{topic}} p99",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Topic end-to-end processing time",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 0,
+ "lineInterpolation": "smooth",
+ "showPoints": "never"
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".+ rps"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "Show split by nsqd instances for ${__field.labels.topic} ",
+ "url": "d/nsq-instances?var-topic=${__field.labels.topic}&${datasource:queryparam}&${job:queryparam}&$${__url_time_range}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".+ Bps rate"
+ },
+ "properties": [
+ {
+ "id": "custom.drawStyle",
+ "value": "bars"
+ },
+ {
+ "id": "custom.axisPlacement",
+ "value": "right"
+ },
+ {
+ "id": "custom.stacking",
+ "value": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#cef7913b",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "unit",
+ "value": "Bps"
+ },
+ {
+ "id": "custom.barAlignment",
+ "value": -1
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 10
+ }
+ ]
+ }
+ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 4,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "tooltip": {
+ "mode": "multi"
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg by (topic) (rate(nsq_topic_message_count{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{topic}} rps",
+ "refId": "A"
+ },
+ {
+ "expr": "sum by () (rate(nsq_topic_message_bytes{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "selected topics Bps rate",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Topic messages",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 0,
+ "lineInterpolation": "smooth",
+ "showPoints": "never"
+ },
+ "links": [
+ {
+ "title": "Show split by nsqd instances for ${__field.labels.topic}",
+ "url": "d/nsq-instances?var-topic=${__field.labels.topic}&${datasource:queryparam}&${job:queryparam}&$${__url_time_range}"
+ }
+ ],
+ "unit": "short"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 5,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "tooltip": {
+ "mode": "multi"
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum without (instance) (nsq_topic_depth{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{topic}} depth",
+ "refId": "A"
+ },
+ {
+ "expr": "sum without (instance) (nsq_topic_backend_depth{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{topic}} memory+disk depth",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Topic depth",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "gridPos": {
+ "h": 0,
+ "w": 0,
+ "x": 0,
+ "y": 14
+ },
+ "id": 6,
+ "panels": [ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Channels",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 0,
+ "lineInterpolation": "smooth",
+ "showPoints": "never"
+ },
+ "links": [
+ {
+ "title": "Show split by nsqd instances for ${__field.labels.topic}/${__field.labels.channel}",
+ "url": "d/nsq-instances?var-topic=${__field.labels.topic}&var-channel=${__field.labels.channel}&${datasource:queryparam}&${job:queryparam}&${__url_time_range}"
+ }
+ ],
+ "unit": "ns"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 7,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "tooltip": {
+ "mode": "multi"
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg without (instance) (nsq_topic_channel_e2e_processing_latency_99{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\",channel=~\"$channel\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{topic}}/{{channel}} p99",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Channel end-to-end processing time",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 0,
+ "lineInterpolation": "smooth",
+ "showPoints": "never"
+ },
+ "links": [
+ {
+ "title": "Show split by nsqd instances for ${__field.labels.topic}/${__field.labels.channel}",
+ "url": "d/nsq-instances?var-topic=${__field.labels.topic}&var-channel=${__field.labels.channel}&${datasource:queryparam}&${job:queryparam}&${__url_time_range}"
+ }
+ ]
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "id": 8,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "tooltip": {
+ "mode": "multi"
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum without (instance) (nsq_topic_channel_clients{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\",channel=~\"$channel\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{topic}}/{{channel}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Channel clients",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 0,
+ "lineInterpolation": "smooth",
+ "showPoints": "never"
+ },
+ "links": [
+ {
+ "title": "Show split by nsqd instances for ${__field.labels.topic}/${__field.labels.channel}",
+ "url": "d/nsq-instances?var-topic=${__field.labels.topic}&var-channel=${__field.labels.channel}&${datasource:queryparam}&${job:queryparam}&${__url_time_range}"
+ }
+ ],
+ "unit": "short"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "id": 9,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "tooltip": {
+ "mode": "multi"
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum without (instance) (nsq_topic_channel_depth{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\",channel=~\"$channel\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{topic}}/{{channel}} depth",
+ "refId": "A"
+ },
+ {
+ "expr": "sum without (instance) (nsq_topic_channel_backend_depth{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\",channel=~\"$channel\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{topic}}/{{channel}} memory+disk depth",
+ "refId": "B"
+ },
+ {
+ "expr": "sum without (instance) (nsq_topic_channel_in_flight_count{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\",channel=~\"$channel\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{topic}}/{{channel}} in-flight",
+ "refId": "C"
+ },
+ {
+ "expr": "avg without (instance) (rate(nsq_topic_channel_requeue_count{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\",channel=~\"$channel\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{topic}}/{{channel}} requeue",
+ "refId": "D"
+ },
+ {
+ "expr": "avg without (instance) (rate(nsq_topic_channel_timeout_count{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\",channel=~\"$channel\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{topic}}/{{channel}} timeout",
+ "refId": "E"
+ },
+ {
+ "expr": "sum without (instance) (nsq_topic_channel_deferred_count{job=~\"$job\", instance=~\"$instance\",topic=~\"$topic\",channel=~\"$channel\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{topic}}/{{channel}} deferred",
+ "refId": "F"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Channel stats",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "nsq"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "text": "Prometheus",
+ "value": "Prometheus"
+ },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(nsq_topic_message_count, job)",
+ "refresh": 1,
+ "regex": "",
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(nsq_topic_message_count{job=~\"$job\"},instance)",
+ "refresh": 2,
+ "regex": "",
+ "type": "query"
+ },
+ {
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": null,
+ "multi": true,
+ "name": "topic",
+ "options": [ ],
+ "query": "label_values(nsq_topic_message_count{job=~\"$job\",instance=~\"$instance\"},topic)",
+ "refresh": 2,
+ "regex": "",
+ "type": "query"
+ },
+ {
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": null,
+ "multi": true,
+ "name": "channel",
+ "options": [ ],
+ "query": "label_values(nsq_topic_channel_message_count{job=~\"$job\",instance=~\"$instance\",topic=~\"$topic\"},channel)",
+ "refresh": 2,
+ "regex": "",
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "NSQ Topics",
+ "uid": "nsq-topics",
+ "version": 0
+}
diff --git a/assets/nsq/rules.yaml b/assets/nsq/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/nsq/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/openldap/alerts.yaml b/assets/openldap/alerts.yaml
new file mode 100644
index 0000000..e4c0d0a
--- /dev/null
+++ b/assets/openldap/alerts.yaml
@@ -0,0 +1,53 @@
+groups:
+- name: openldap-alerts
+ rules:
+ - alert: OpenLDAPConnectionSpike
+ annotations:
+ description: There are {{ printf "%.0f" $value }} OpenLDAP connections on instance
+ {{$labels.instance}}, which is above the threshold of 100.
+ summary: A sudden spike in OpenLDAP connections indicates potential high usage
+ or security issues.
+ expr: |
+ increase(openldap_monitor_counter_object{dn="cn=Current,cn=Connections,cn=Monitor"}[5m]) > 100
+ for: 5m
+ labels:
+ severity: warning
+ - alert: OpenLDAPHighSearchOperationRateSpike
+ annotations:
+ description: The rate of search operations in OpenLDAP on instance {{$labels.instance}}
+ has increased by {{ printf "%.0f" $value }} percent in the last 5 minutes,
+ compared to the average over the last 15 minutes, which is above the threshold
+ of 200 percent.
+ summary: A significant spike in OpenLDAP search operations indicates inefficient
+ queries, potential abuse, or unintended heavy load.
+ expr: "100 * (\n rate(openldap_monitor_operation{dn=\"cn=Search,cn=Operations,cn=Monitor\"}[5m])
+ \n / \n clamp_min(rate(openldap_monitor_operation{dn=\"cn=Search,cn=Operations,cn=Monitor\"}[15m]
+ offset 5m), 0.0001)\n) > 200\n"
+ for: 5m
+ labels:
+ severity: warning
+ - alert: OpenLDAPDialFailures
+ annotations:
+ description: LDAP dial failures on instance {{$labels.instance}} have increased
+ by {{ printf "%.0f" $value }} in the last 10 minutes, which is above the threshold
+ of 10.
+ summary: Significant increase in LDAP dial failures indicates network issues,
+ problems with the LDAP service, or configuration errors that may lead to service
+ unavailability.
+ expr: |
+ increase(openldap_dial{result!="ok"}[10m]) > 10
+ for: 10m
+ labels:
+ severity: warning
+ - alert: OpenLDAPBindFailureRateIncrease
+ annotations:
+ description: LDAP bind failures on instance {{$labels.instance}} have increased
+ by {{ printf "%.0f" $value }} in the last 10 minutes, which is above the threshold
+ of 10.
+ summary: Significant increase in LDAP bind failures indicates authentication
+ issues, potential security threats or problems with user directories.
+ expr: |
+ increase(openldap_bind{result!="ok"}[10m]) > 10
+ for: 10m
+ labels:
+ severity: warning
diff --git a/assets/openldap/dashboards/logs b/assets/openldap/dashboards/logs
new file mode 100644
index 0000000..14dfd04
--- /dev/null
+++ b/assets/openldap/dashboards/logs
@@ -0,0 +1,314 @@
+{
+ "annotations": {
+ "list": [ ]
+ },
+ "links": [
+ {
+ "keepTime": true,
+ "title": "OpenLDAP overview",
+ "type": "link",
+ "url": "/d/openldap-overview"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Logs volume grouped by \"level\" label.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "drawStyle": "bars",
+ "fillOpacity": 50,
+ "stacking": {
+ "mode": "normal"
+ }
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)merg|(F|f)atal|(A|a)lert|(C|c)rit.*"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)(rr.*|RR.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(W|w)(arn.*|ARN.*|rn|RN)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(N|n)(otice|ote)|(I|i)(nf.*|NF.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "dbg.*|DBG.*|(D|d)(EBUG|ebug)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(T|t)(race|RACE)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "logs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24
+ },
+ "id": 1,
+ "interval": "30s",
+ "options": {
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "sum by (level) (count_over_time({job=~\"integrations/openldap\",job=~\"$job\",instance=~\"$instance\",level=~\"$level\",component=~\"$component\"}\n|~ \"$regex_search\"\n\n[$__interval]))\n",
+ "legendFormat": "{{ level }}"
+ }
+ ],
+ "title": "Logs volume",
+ "transformations": [
+ {
+ "id": "renameByRegex",
+ "options": {
+ "regex": "Value",
+ "renamePattern": "logs"
+ }
+ }
+ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "gridPos": {
+ "h": 18,
+ "w": 24
+ },
+ "id": 2,
+ "options": {
+ "dedupStrategy": "exact",
+ "enableLogDetails": true,
+ "prettifyLogMessage": true,
+ "showTime": false,
+ "wrapLogMessage": false
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "{job=~\"integrations/openldap\",job=~\"$job\",instance=~\"$instance\",level=~\"$level\",component=~\"$component\"} \n|~ \"$regex_search\"\n\n\n"
+ }
+ ],
+ "title": "Logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "openldap"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values({job=~\"integrations/openldap\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values({job=~\"integrations/openldap\",job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Level",
+ "multi": true,
+ "name": "level",
+ "query": "label_values({job=~\"integrations/openldap\",job=~\"$job\",instance=~\"$instance\"}, level)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Component",
+ "multi": true,
+ "name": "component",
+ "query": "label_values({job=~\"integrations/openldap\",job=~\"$job\",instance=~\"$instance\",level=~\"$level\"}, component)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "",
+ "value": ""
+ },
+ "label": "Regex search",
+ "name": "regex_search",
+ "options": [
+ {
+ "selected": true,
+ "text": "",
+ "value": ""
+ }
+ ],
+ "query": "",
+ "type": "textbox"
+ },
+ {
+ "hide": 2,
+ "label": "Prometheus data source",
+ "name": "prometheus_datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "OpenLDAP logs",
+ "uid": "openldap-logs"
+}
diff --git a/assets/openldap/dashboards/overview b/assets/openldap/dashboards/overview
new file mode 100644
index 0000000..0731f6c
--- /dev/null
+++ b/assets/openldap/dashboards/overview
@@ -0,0 +1,981 @@
+{
+ "annotations": {
+ "list": [ ]
+ },
+ "links": [
+ {
+ "keepTime": true,
+ "title": "OpenLDAP logs",
+ "type": "link",
+ "url": "/d/openldap-logs"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The total time since the LDAP server was last started.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "thresholds"
+ },
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "textMode": "value"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openldap_monitored_object{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Uptime,cn=Time,cn=Monitor\"}",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Uptime",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of LDAP referrals.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "thresholds"
+ },
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "textMode": "value"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openldap_monitor_counter_object{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Referrals,cn=Statistics,cn=Monitor\"}",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Referrals",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "alertInstanceLabelFilter": "job=~\"${job:regex}\",instance=~\"${instance:regex}\""
+ },
+ "pluginVersion": "v10.0.0",
+ "title": "OpenLDAP alerts",
+ "type": "alertlist"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The increase of new LDAP connections over time.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 6
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(openldap_monitor_counter_object{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Current,cn=Connections,cn=Monitor\"}[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Connections / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of read and write waiters.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 6
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openldap_monitor_counter_object{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Read,cn=Waiters,cn=Monitor\"}",
+ "legendFormat": "{{instance}} - Read"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openldap_monitor_counter_object{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Write,cn=Waiters,cn=Monitor\"}",
+ "legendFormat": "{{instance}} - Write"
+ }
+ ],
+ "title": "Waiters",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The total increase of new directory entries added over time.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 6
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(openldap_monitor_counter_object{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Entries,cn=Statistics,cn=Monitor\"}[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Directory entries / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The LDAP network connection attempts over time.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 12
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(openldap_dial{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\"}[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Network connectivity / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of LDAP Protocol Data Units (PDUs) processed over time.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 12
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(openldap_monitor_counter_object{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=PDU,cn=Statistics,cn=Monitor\"}[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "PDU processed / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The total increase of authentication attempts over time.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 12
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(openldap_bind{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\"}[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Authentication attempts / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The key LDAP operations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 18
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(openldap_monitor_operation{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Add,cn=Operations,cn=Monitor\"}[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - Add"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(openldap_monitor_operation{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Bind,cn=Operations,cn=Monitor\"}[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - Bind"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(openldap_monitor_operation{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Modify,cn=Operations,cn=Monitor\"}[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - Modify"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(openldap_monitor_operation{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Search,cn=Operations,cn=Monitor\"}[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - Search"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(openldap_monitor_operation{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Delete,cn=Operations,cn=Monitor\"}[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - Delete"
+ }
+ ],
+ "title": "Core operations / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The less frequent but important LDAP operations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(openldap_monitor_operation{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Abandon,cn=Operations,cn=Monitor\"}[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - Abandon"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(openldap_monitor_operation{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Compare,cn=Operations,cn=Monitor\"}[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - Compare"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(openldap_monitor_operation{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Unbind,cn=Operations,cn=Monitor\"}[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - Unbind"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(openldap_monitor_operation{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Extended,cn=Operations,cn=Monitor\"}[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - Extended"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(openldap_monitor_operation{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Modrdn,cn=Operations,cn=Monitor\"}[$__interval:])",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - Modrdn"
+ }
+ ],
+ "title": "Auxiliary operations / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The active, open, and maximum threads in the LDAP server.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openldap_monitored_object{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Open,cn=Threads,cn=Monitor\"}",
+ "legendFormat": "{{instance}} - Open"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openldap_monitored_object{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Active,cn=Threads,cn=Monitor\"}",
+ "legendFormat": "{{instance}} - Active"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openldap_monitored_object{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Max,cn=Threads,cn=Monitor\"}",
+ "legendFormat": "{{instance}} - Max"
+ }
+ ],
+ "title": "Primary thread activity",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The LDAP server's thread backlog and pending status.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openldap_monitored_object{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Starting,cn=Threads,cn=Monitor\"}",
+ "legendFormat": "{{instance}} - Starting"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openldap_monitored_object{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Pending,cn=Threads,cn=Monitor\"}",
+ "legendFormat": "{{instance}} - Pending"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openldap_monitored_object{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Max Pending,cn=Threads,cn=Monitor\"}",
+ "legendFormat": "{{instance}} - Max Pending"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openldap_monitored_object{job=~\"$job\",instance=~\"$instance\",job=~\"integrations/openldap\", dn=\"cn=Backload,cn=Threads,cn=Monitor\"}",
+ "legendFormat": "{{instance}} - Backload"
+ }
+ ],
+ "title": "Thread queue management",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "openldap"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Prometheus data source",
+ "name": "prometheus_datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(openldap_dial{job=~\"integrations/openldap\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": false,
+ "label": "Instance",
+ "multi": false,
+ "name": "instance",
+ "query": "label_values(openldap_dial{job=~\"integrations/openldap\",job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "hide": 2,
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "OpenLDAP overview",
+ "uid": "openldap-overview"
+}
diff --git a/assets/openldap/rules.yaml b/assets/openldap/rules.yaml
new file mode 100644
index 0000000..0967ef4
--- /dev/null
+++ b/assets/openldap/rules.yaml
@@ -0,0 +1 @@
+{}
diff --git a/assets/opensearch/alerts.yaml b/assets/opensearch/alerts.yaml
new file mode 100644
index 0000000..271d085
--- /dev/null
+++ b/assets/opensearch/alerts.yaml
@@ -0,0 +1,121 @@
+groups:
+- name: opensearch-alerts
+ rules:
+ - alert: OpenSearchYellowCluster
+ annotations:
+ description: '{{$labels.cluster}} health status is yellow over the last 5 minutes'
+ summary: At least one of the clusters is reporting a yellow status.
+ expr: |
+ opensearch_cluster_status{cluster!=""} == 1
+ for: 5m
+ labels:
+ severity: warning
+ - alert: OpenSearchRedCluster
+ annotations:
+ description: '{{$labels.cluster}} health status is red over the last 5 minutes'
+ summary: At least one of the clusters is reporting a red status.
+ expr: |
+ opensearch_cluster_status{cluster!=""} == 2
+ for: 5m
+ labels:
+ severity: critical
+ - alert: OpenSearchUnstableShardReallocation
+ annotations:
+ description: |
+ {{$labels.cluster}} has had {{ printf "%.0f" $value }} shard reallocation over the last 1m which is above the threshold of 0.
+ summary: A node has gone offline or has been disconnected triggering shard reallocation.
+ expr: |
+ sum without(type) (opensearch_cluster_shards_number{cluster!="", type="relocating"}) > 0
+ for: 1m
+ labels:
+ severity: warning
+ - alert: OpenSearchUnstableShardUnassigned
+ annotations:
+ description: |
+ {{$labels.cluster}} has had {{ printf "%.0f" $value }} shard unassigned over the last 5m which is above the threshold of 0.
+ summary: There are shards that have been detected as unassigned.
+ expr: |
+ sum without(type) (opensearch_cluster_shards_number{cluster!="", type="unassigned"}) > 0
+ for: 5m
+ labels:
+ severity: warning
+ - alert: OpenSearchModerateNodeDiskUsage
+ annotations:
+ description: |
+ {{$labels.node}} has had {{ printf "%.0f" $value }} disk usage over the last 5m which is above the threshold of 60.
+ summary: The node disk usage has exceeded the warning threshold.
+ expr: |
+ 100 * sum without(nodeid, path, mount, type) ((opensearch_fs_path_total_bytes{cluster!=""} - opensearch_fs_path_free_bytes{cluster!=""}) / opensearch_fs_path_total_bytes{cluster!=""}) > 60
+ for: 5m
+ labels:
+ severity: warning
+ - alert: OpenSearchHighNodeDiskUsage
+ annotations:
+ description: |
+ {{$labels.node}} has had {{ printf "%.0f" $value }}% disk usage over the last 5m which is above the threshold of 80.
+ summary: The node disk usage has exceeded the critical threshold.
+ expr: |
+ 100 * sum without(nodeid, path, mount, type) ((opensearch_fs_path_total_bytes{cluster!=""} - opensearch_fs_path_free_bytes) / opensearch_fs_path_total_bytes{cluster!=""}) > 80
+ for: 5m
+ labels:
+ severity: critical
+ - alert: OpenSearchModerateNodeCpuUsage
+ annotations:
+ description: |
+ {{$labels.node}} has had {{ printf "%.0f" $value }}% CPU usage over the last 5m which is above the threshold of 70.
+ summary: The node CPU usage has exceeded the warning threshold.
+ expr: |
+ sum without(nodeid) (opensearch_os_cpu_percent{cluster!=""}) > 70
+ for: 5m
+ labels:
+ severity: warning
+ - alert: OpenSearchHighNodeCpuUsage
+ annotations:
+ description: |
+ {{$labels.node}} has had {{ printf "%.0f" $value }}% CPU usage over the last 5m which is above the threshold of 85.
+ summary: The node CPU usage has exceeded the critical threshold.
+ expr: |
+ sum without(nodeid) (opensearch_os_cpu_percent{cluster!=""}) > 85
+ for: 5m
+ labels:
+ severity: critical
+ - alert: OpenSearchModerateNodeMemoryUsage
+ annotations:
+ description: |
+ {{$labels.node}} has had {{ printf "%.0f" $value }}% memory usage over the last 5m which is above the threshold of 70.
+ summary: The node memory usage has exceeded the warning threshold.
+ expr: |
+ sum without(nodeid) (opensearch_os_mem_used_percent{cluster!=""}) > 70
+ for: 5m
+ labels:
+ severity: warning
+ - alert: OpenSearchHighNodeMemoryUsage
+ annotations:
+ description: |
+ {{$labels.node}} has had {{ printf "%.0f" $value }}% memory usage over the last 5m which is above the threshold of 85.
+ summary: The node memory usage has exceeded the critical threshold.
+ expr: |
+ sum without(nodeid) (opensearch_os_mem_used_percent{cluster!=""}) > 85
+ for: 5m
+ labels:
+ severity: critical
+ - alert: OpenSearchModerateRequestLatency
+ annotations:
+ description: |
+ {{$labels.index}} has had {{ printf "%.0f" $value }}s of request latency over the last 5m which is above the threshold of 0.5.
+ summary: The request latency has exceeded the warning threshold.
+ expr: |
+ sum without(context) ((increase(opensearch_index_search_fetch_time_seconds{cluster!="", context="total"}[5m])+increase(opensearch_index_search_query_time_seconds{context="total"}[5m])+increase(opensearch_index_search_scroll_time_seconds{context="total"}[5m])) / clamp_min(increase(opensearch_index_search_fetch_count{context="total"}[5m])+increase(opensearch_index_search_query_count{context="total"}[5m])+increase(opensearch_index_search_scroll_count{context="total"}[5m]), 1)) > 0.5
+ for: 5m
+ labels:
+ severity: warning
+ - alert: OpenSearchModerateIndexLatency
+ annotations:
+ description: |
+ {{$labels.index}} has had {{ printf "%.0f" $value }}s of index latency over the last 5m which is above the threshold of 0.5.
+ summary: The index latency has exceeded the warning threshold.
+ expr: |
+ sum without(context) (increase(opensearch_index_indexing_index_time_seconds{cluster!="", context="total"}[5m]) / clamp_min(increase(opensearch_index_indexing_index_count{context="total"}[5m]), 1)) > 0.5
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/opensearch/dashboards/node-overview.json b/assets/opensearch/dashboards/node-overview.json
new file mode 100644
index 0000000..6643a3c
--- /dev/null
+++ b/assets/opensearch/dashboards/node-overview.json
@@ -0,0 +1,1697 @@
+{
+ "links": [
+ {
+ "asDropdown": false,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "opensearch-mixin"
+ ],
+ "title": "Other Opensearch dashboards",
+ "type": "dashboards"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "description": "OpenSearch node roles over time.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "2": {
+ "color": "light-purple",
+ "index": 0,
+ "text": "data"
+ },
+ "3": {
+ "color": "light-green",
+ "index": 1,
+ "text": "master"
+ },
+ "4": {
+ "color": "light-blue",
+ "index": 2,
+ "text": "ingest"
+ },
+ "5": {
+ "color": "light-yellow",
+ "index": 3,
+ "text": "cluster_manager"
+ },
+ "6": {
+ "color": "super-light-red",
+ "index": 4,
+ "text": "remote_cluster_client"
+ }
+ },
+ "type": "value"
+ }
+ ]
+ }
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "maxDataPoints": 100,
+ "options": {
+ "legend": false,
+ "showValue": "never"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "max by (node,role) (\n max_over_time(opensearch_node_role_bool{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\", role=\"data\"}[1m]) == 1\n) * 2\n",
+ "legendFormat": "{{node}}"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "max by (node,role) (\n max_over_time(opensearch_node_role_bool{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\", role=\"master\"}[1m]) == 1\n) * 3\n",
+ "legendFormat": "{{node}}"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "max by (node,role) (\n max_over_time(opensearch_node_role_bool{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\", role=\"ingest\"}[1m]) == 1\n) * 4\n",
+ "legendFormat": "{{node}}"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "max by (node,role) (\n max_over_time(opensearch_node_role_bool{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\", role=\"cluster_manager\"}[1m]) == 1\n) * 5\n",
+ "legendFormat": "{{node}}"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "max by (node,role) (\n max_over_time(opensearch_node_role_bool{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\", role=\"remote_cluster_client\"}[1m]) == 1\n) * 6\n",
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "Roles timeline",
+ "type": "status-history"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 1
+ },
+ "id": 2,
+ "targets": [ ],
+ "title": "Node health",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "CPU usage percentage of the node's Operating System.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "fillOpacity": 5,
+ "gradientMode": "scheme",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "max": 100,
+ "min": 0,
+ "unit": "percent"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 0,
+ "y": 2
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "opensearch_os_cpu_percent{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"}",
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "Node CPU usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Memory usage percentage of the node for the Operating System and OpenSearch",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "fillOpacity": 5,
+ "gradientMode": "scheme",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "max": 100,
+ "min": 0,
+ "unit": "percent"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 6,
+ "y": 2
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "opensearch_os_mem_used_percent{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"}",
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "Node memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Node file system read and write data.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 1,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": "normal"
+ },
+ "unit": "Bps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/time|used|busy|util/"
+ },
+ "properties": [
+ {
+ "id": "custom.axisSoftMax",
+ "value": 100
+ },
+ {
+ "id": "custom.drawStyle",
+ "value": "points"
+ },
+ {
+ "id": "unit",
+ "value": "percent"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 12,
+ "y": 2
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job,cluster,node) (rate(opensearch_fs_io_total_read_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"}[$__rate_interval]))",
+ "legendFormat": "{{node}} - read"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job,cluster,node) (rate(opensearch_fs_io_total_write_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"}[$__rate_interval]))",
+ "legendFormat": "{{node}} - write"
+ }
+ ],
+ "title": "Node I/O",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Number of open connections for the selected node.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": "normal"
+ },
+ "unit": ""
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 2
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (job,cluster,node) (opensearch_transport_server_open_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"})",
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "Node open connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Disk usage percentage of the selected node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "fillOpacity": 1,
+ "gradientMode": "scheme",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "max": 100,
+ "min": 0,
+ "unit": "percent"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 0,
+ "y": 8
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "100 - (100 * opensearch_fs_path_free_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"} / clamp_min(opensearch_fs_path_total_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"}, 1))",
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "Node disk usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Percentage of swap space used by OpenSearch and the Operating System on the selected node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "fillOpacity": 5,
+ "gradientMode": "scheme",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "max": 100,
+ "min": 0,
+ "unit": "percent"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 6,
+ "y": 8
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "100 * opensearch_os_swap_used_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"} / clamp_min((opensearch_os_swap_used_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"} + opensearch_os_swap_free_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"}), 1)",
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "Node memory swap",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Node network traffic sent and received.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "axisCenteredZero": false,
+ "axisLabel": "out(-) | in(+)",
+ "fillOpacity": 5,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "unit": "bps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/sent/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 12,
+ "y": 8
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (job,cluster,node) (rate(opensearch_transport_tx_bytes_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"}[$__rate_interval])) * 8",
+ "legendFormat": "{{node}} - sent"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (job,cluster,node) (rate(opensearch_transport_rx_bytes_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"}[$__rate_interval])) * 8",
+ "legendFormat": "{{node}} - received"
+ }
+ ],
+ "title": "Node network traffic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Circuit breakers tripped on the selected node by type",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "trips"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 6,
+ "x": 18,
+ "y": 8
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(name, job,cluster,node) (increase(opensearch_circuitbreaker_tripped_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}} - {{ name }}"
+ }
+ ],
+ "title": "Circuit breakers",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 15
+ },
+ "id": 11,
+ "targets": [ ],
+ "title": "Node JVM",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The amount of heap memory used vs committed on the selected node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 16
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (job,cluster,node) (opensearch_jvm_mem_heap_used_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}} - used"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (job,cluster,node) (opensearch_jvm_mem_heap_committed_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}} - commited"
+ }
+ ],
+ "title": "JVM heap used vs. committed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The amount of non-heap memory used vs committed on the selected node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 6,
+ "y": 16
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (job,cluster,node) (opensearch_jvm_mem_nonheap_used_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}} - used"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (job,cluster,node) (opensearch_jvm_mem_nonheap_committed_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}} - commited"
+ }
+ ],
+ "title": "JVM non-heap used vs. committed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of threads running in the JVM on the selected node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "threads"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 12,
+ "y": 16
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (job,cluster,node) (opensearch_jvm_threads_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "JVM threads",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of buffer pools available on the selected node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "buffer pools"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 16
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by( job,cluster,node, bufferpool) (opensearch_jvm_bufferpool_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}} - {{bufferpool}}"
+ }
+ ],
+ "title": "JVM buffer pools",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The uptime of the JVM in seconds on the selected node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 22
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job,cluster,node) (opensearch_jvm_uptime_seconds{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "JVM uptime",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of garbage collection operations on the selected node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "operations"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 6,
+ "y": 22
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (job,cluster,node) (increase(opensearch_jvm_gc_collection_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "JVM garbage collections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The amount of time spent on garbage collection on the selected node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 12,
+ "y": 22
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (job,cluster,node) (increase(opensearch_jvm_gc_collection_time_seconds{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "JVM garbage collection time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The percent used of JVM buffer pool memory.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 22
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "100 * (sum by (job,cluster,node, bufferpool) (opensearch_jvm_bufferpool_used_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"})) / clamp_min((sum by (job, bufferpool, cluster) (opensearch_jvm_bufferpool_total_capacity_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"})),1)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}} - {{bufferpool}}"
+ }
+ ],
+ "title": "JVM buffer pool usage",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 20,
+ "targets": [ ],
+ "title": "Thread pools",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of threads in the thread pool for the selected node",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "threads"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 29
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job,cluster,node) ((opensearch_threadpool_threads_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "Thread pool threads",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of tasks in the thread pool for the selected node.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "tasks"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 29
+ },
+ "id": 22,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (job,cluster,node) (opensearch_threadpool_tasks_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "Thread pool tasks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "The recent error logs being reported by OpenSearch.",
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 37
+ },
+ "id": 23,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",node=~\"$node\"} |~ \"\"",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Error logs panel",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "opensearch-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Data source",
+ "name": "datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(opensearch_os_cpu_percent{cluster!=\"\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "query": "label_values(opensearch_os_cpu_percent{cluster!=\"\",job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Node",
+ "multi": true,
+ "name": "node",
+ "query": "label_values(opensearch_os_cpu_percent{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"}, node)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "OpenSearch node overview",
+ "uid": "opensearch-node-overview"
+}
diff --git a/assets/opensearch/dashboards/opensearch-cluster-overview.json b/assets/opensearch/dashboards/opensearch-cluster-overview.json
new file mode 100644
index 0000000..c694849
--- /dev/null
+++ b/assets/opensearch/dashboards/opensearch-cluster-overview.json
@@ -0,0 +1,2089 @@
+{
+ "links": [
+ {
+ "asDropdown": false,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "opensearch-mixin"
+ ],
+ "title": "Other Opensearch dashboards",
+ "type": "dashboards"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "description": "OpenSearch node roles.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "super-light-orange",
+ "index": 5,
+ "text": "False"
+ },
+ "1": {
+ "color": "light-green",
+ "index": 3,
+ "text": "True"
+ },
+ "Data": {
+ "color": "light-purple",
+ "index": 0,
+ "text": "data"
+ },
+ "Ingest": {
+ "color": "light-blue",
+ "index": 2,
+ "text": "ingest"
+ },
+ "Master": {
+ "color": "light-green",
+ "index": 1,
+ "text": "master"
+ },
+ "Remote cluster client": {
+ "color": "light-orange",
+ "index": 4,
+ "text": "remote_cluster_client"
+ }
+ },
+ "type": "value"
+ }
+ ]
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Data|Master|Ingest|Remote.+|Cluster.+/"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "max by (job,cluster,node,node,nodeid,role,primary_ip) (last_over_time(opensearch_node_role_bool{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"}[1d]))",
+ "instant": true,
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "Roles",
+ "transformations": [
+ {
+ "id": "labelsToFields",
+ "options": {
+ "mode": "columns",
+ "valueLabel": "role"
+ }
+ },
+ {
+ "id": "merge",
+ "options": { }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": {
+ "Time": 0,
+ "cluster": 3,
+ "cluster_manager": 108,
+ "data": 105,
+ "ingest": 106,
+ "job": 3,
+ "master": 104,
+ "node": 3,
+ "nodeid": 3,
+ "remote_cluster_client": 107
+ },
+ "renameByName": {
+ "Time": "",
+ "cluster": "Cluster",
+ "cluster_manager": "Cluster manager",
+ "data": "Data",
+ "ingest": "Ingest",
+ "master": "Master",
+ "node": "Node",
+ "nodeid": "Nodeid",
+ "remote_cluster_client": "Remote cluster client"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The overall health and availability of the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "index": 0,
+ "text": "Green"
+ },
+ "1": {
+ "index": 1,
+ "text": "Yellow"
+ },
+ "2": {
+ "index": 2,
+ "text": "Red"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "green",
+ "value": 0
+ },
+ {
+ "color": "yellow",
+ "value": 1
+ },
+ {
+ "color": "red",
+ "value": 2
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 0,
+ "y": 2
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "min by(job,cluster) (opensearch_cluster_status{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{job}}/{{cluster}}"
+ }
+ ],
+ "title": "Cluster status",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of running nodes across the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 3,
+ "y": 2
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "min by(job,cluster) (opensearch_cluster_nodes_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{job}}/{{cluster}}"
+ }
+ ],
+ "title": "Node count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of data nodes in the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 6,
+ "y": 2
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "min by(job,cluster) (opensearch_cluster_datanodes_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{job}}/{{cluster}}"
+ }
+ ],
+ "title": "Data node count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of shards in the OpenSearch cluster across all indices.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 9,
+ "y": 2
+ },
+ "id": 5,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum(max by (type) (opensearch_cluster_shards_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{job}}/{{cluster}}"
+ }
+ ],
+ "title": "Shard count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Percent of active shards across the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "yellow",
+ "value": 1
+ },
+ {
+ "color": "green",
+ "value": 100
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 12,
+ "y": 2
+ },
+ "id": 6,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "min by(job,cluster) (opensearch_cluster_shards_active_percent{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{job}}/{{cluster}}"
+ }
+ ],
+ "title": "Active shards %",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "description": "OpenSearch node roles over time.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "2": {
+ "color": "light-purple",
+ "index": 0,
+ "text": "data"
+ },
+ "3": {
+ "color": "light-green",
+ "index": 1,
+ "text": "master"
+ },
+ "4": {
+ "color": "light-blue",
+ "index": 2,
+ "text": "ingest"
+ },
+ "5": {
+ "color": "light-yellow",
+ "index": 3,
+ "text": "cluster_manager"
+ },
+ "6": {
+ "color": "super-light-red",
+ "index": 4,
+ "text": "remote_cluster_client"
+ }
+ },
+ "type": "value"
+ }
+ ]
+ }
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 9,
+ "x": 15,
+ "y": 2
+ },
+ "id": 7,
+ "maxDataPoints": 100,
+ "options": {
+ "legend": false,
+ "showValue": "never"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "max by (node,role) (\n max_over_time(opensearch_node_role_bool{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", role=\"data\"}[1m]) == 1\n) * 2\n",
+ "legendFormat": "{{node}}"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "max by (node,role) (\n max_over_time(opensearch_node_role_bool{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", role=\"master\"}[1m]) == 1\n) * 3\n",
+ "legendFormat": "{{node}}"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "max by (node,role) (\n max_over_time(opensearch_node_role_bool{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", role=\"ingest\"}[1m]) == 1\n) * 4\n",
+ "legendFormat": "{{node}}"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "max by (node,role) (\n max_over_time(opensearch_node_role_bool{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", role=\"cluster_manager\"}[1m]) == 1\n) * 5\n",
+ "legendFormat": "{{node}}"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "max by (node,role) (\n max_over_time(opensearch_node_role_bool{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", role=\"remote_cluster_client\"}[1m]) == 1\n) * 6\n",
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "Roles timeline",
+ "type": "status-history"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Top nodes by OS CPU usage across the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 0,
+ "y": 4
+ },
+ "id": 8,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "topk(10, sort_desc(sum by(node, job,cluster) (opensearch_os_cpu_percent{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"})))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "Top nodes by CPU usage",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The total count of circuit breakers tripped across the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "trips"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 8,
+ "y": 4
+ },
+ "id": 9,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(job,cluster, node) (increase(opensearch_circuitbreaker_tripped_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "Breakers tripped",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Shard status counts across the Opensearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "shards"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 16,
+ "y": 4
+ },
+ "id": 10,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "min by(type, job,cluster) (opensearch_cluster_shards_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{type}}"
+ }
+ ],
+ "title": "Shard status",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Top nodes by disk usage across the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 8,
+ "x": 0,
+ "y": 13
+ },
+ "id": 11,
+ "options": {
+ "displayMode": "gradient",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "topk(10, sort_desc((100 * (sum by(node, job,cluster) (opensearch_fs_path_total_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"})- sum by(node, job,cluster) (opensearch_fs_path_free_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"})) / sum by(node, job,cluster) (opensearch_fs_path_total_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"}))))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "Top nodes by disk usage",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The total count of documents indexed across the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "documents"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 8,
+ "y": 13
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster) (opensearch_indices_indexing_index_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{job}}/{{cluster}}"
+ }
+ ],
+ "title": "Total documents",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of tasks waiting to be executed across the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "tasks"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 16,
+ "y": 13
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster) (opensearch_cluster_pending_tasks_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{job}}/{{cluster}}"
+ }
+ ],
+ "title": "Pending tasks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The total size of the store across the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 8,
+ "y": 18
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster) (opensearch_indices_store_size_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{job}}/{{cluster}}"
+ }
+ ],
+ "title": "Store size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The max wait time for tasks to be executed across the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 8,
+ "x": 16,
+ "y": 18
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "max by(job,cluster) (opensearch_cluster_task_max_waiting_time_seconds{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{job}}/{{cluster}}"
+ }
+ ],
+ "title": "Max task wait time",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 23
+ },
+ "id": 16,
+ "targets": [ ],
+ "title": "Cluster search and index summary",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Top indices by combined fetch, query, and scroll request rate across the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 24
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "topk(10, sort_desc(avg by(index, job,cluster) (\n opensearch_index_search_fetch_current_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", context=\"total\"} + \n opensearch_index_search_query_current_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", context=\"total\"} + \n opensearch_index_search_scroll_current_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", context=\"total\"}\n)))\n",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Top indices by request rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Top indices by combined fetch, query, and scroll latency across the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 24
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "topk(10, sort_desc(sum by(index, job,cluster) ((increase(opensearch_index_search_fetch_time_seconds{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", context=\"total\"}[$__interval:])\n+increase(opensearch_index_search_query_time_seconds{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", context=\"total\"}[$__interval:])\n+increase(opensearch_index_search_scroll_time_seconds{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", context=\"total\"}[$__interval:]))\n/ clamp_min(increase(opensearch_index_search_fetch_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", context=\"total\"}[$__interval:])\n+increase(opensearch_index_search_query_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", context=\"total\"}[$__interval:])\n+increase(opensearch_index_search_scroll_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", context=\"total\"}[$__interval:]), 1))))\n",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Top indices by request latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Top indices by cache hit ratio for the combined request and query cache across the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 24
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "topk(10, sort_desc(avg by(index, job,cluster) (\n 100 * (opensearch_index_requestcache_hit_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", context=\"total\"} + \n opensearch_index_querycache_hit_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", context=\"total\"}) / \n clamp_min((opensearch_index_requestcache_hit_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", context=\"total\"} + \n opensearch_index_querycache_hit_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", context=\"total\"} + \n opensearch_index_requestcache_miss_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", context=\"total\"} + \n opensearch_index_querycache_miss_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", context=\"total\"}), 1\n ))))\n",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Top indices by combined cache hit ratio",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Top nodes by rate of ingest across the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 32
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "topk(10, sum by(node, job,cluster) (rate(opensearch_ingest_total_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"}[$__rate_interval])))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "Top nodes by ingest rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Top nodes by ingestion latency across the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 32
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "topk(10, sum by(job,cluster, node) (\n increase(opensearch_ingest_total_time_seconds{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"}[$__interval:]) / \n clamp_min(increase(opensearch_ingest_total_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"}[$__interval:]), 1)))\n",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "Top nodes by ingest latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Top nodes by ingestion failures across the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "errors"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 32
+ },
+ "id": 22,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "topk(10, sum by(job,cluster, node) (increase(opensearch_ingest_total_failed_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"}[$__interval:])))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{node}}"
+ }
+ ],
+ "title": "Top nodes by ingest errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Top indices by rate of document indexing across the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "documents/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 40
+ },
+ "id": 23,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "topk(10, avg by(job,cluster, index) (opensearch_index_indexing_index_current_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Top indices by index rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Top indices by indexing latency across the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 40
+ },
+ "id": 24,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "topk(10, avg by(job,cluster, index) \n(increase(opensearch_index_indexing_index_time_seconds{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", context=\"total\"}[$__interval:]) / \nclamp_min(increase(opensearch_index_indexing_index_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\", context=\"total\"}[$__interval:]), 1)))\n",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Top indices by index latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Top indices by index document failures across the OpenSearch cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "failures"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 40
+ },
+ "id": 25,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "topk(10, avg by(job,cluster, index) (increase(opensearch_index_indexing_index_failed_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"}[$__interval:])))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Top indices by index failures",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "opensearch-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Data source",
+ "name": "datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(opensearch_cluster_status{cluster!=\"\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "query": "label_values(opensearch_cluster_status{cluster!=\"\",job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "OpenSearch cluster overview",
+ "uid": "opensearch-cluster-overview"
+}
diff --git a/assets/opensearch/dashboards/search-and-index-overview.json b/assets/opensearch/dashboards/search-and-index-overview.json
new file mode 100644
index 0000000..b711465
--- /dev/null
+++ b/assets/opensearch/dashboards/search-and-index-overview.json
@@ -0,0 +1,2470 @@
+{
+ "links": [
+ {
+ "asDropdown": false,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "opensearch-mixin"
+ ],
+ "title": "Other Opensearch dashboards",
+ "type": "dashboards"
+ }
+ ],
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "targets": [ ],
+ "title": "Request performance",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Rate of fetch, scroll, and query requests by selected index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 1
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by (job,cluster,index) (opensearch_index_search_query_current_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=~\"total\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}} - query"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by (job,cluster,index) (opensearch_index_search_fetch_current_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=~\"total\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}} - fetch"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by (job,cluster,index) (opensearch_index_search_scroll_current_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=~\"total\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}} - scroll"
+ }
+ ],
+ "title": "Request rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Latency of fetch, scroll, and query requests by selected index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 6,
+ "y": 1
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by (job,cluster,index) (increase(opensearch_index_search_query_time_seconds{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\"}[$__interval:]) / clamp_min(increase(opensearch_index_search_query_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}[$__interval:]), 1))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}} - query"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by (job,cluster,index) (increase(opensearch_index_search_fetch_time_seconds{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}[$__interval:]) / clamp_min(increase(opensearch_index_search_fetch_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}[$__interval:]), 1))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}} - fetch"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by (job,cluster,index) (increase(opensearch_index_search_scroll_time_seconds{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}[$__interval:]) / clamp_min(increase(opensearch_index_search_scroll_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}[$__interval:]), 1))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}} - scroll"
+ }
+ ],
+ "title": "Request latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Ratio of query cache and request cache hits and misses.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 12,
+ "y": 1
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (100 * (opensearch_index_requestcache_hit_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}) / clamp_min(opensearch_index_requestcache_hit_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"} + opensearch_index_requestcache_miss_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}, 1))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}} - request"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (100 * (opensearch_index_querycache_hit_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}) / clamp_min(opensearch_index_querycache_hit_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"} + opensearch_index_querycache_miss_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}, 1))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}} - query"
+ }
+ ],
+ "title": "Cache hit ratio",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Total evictions count by cache type for the selected index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "evictions"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 18,
+ "y": 1
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (increase(opensearch_index_querycache_evictions_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}} - query cache"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (increase(opensearch_index_requestcache_evictions_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}} - request cache"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (increase(opensearch_index_fielddata_evictions_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}} - field data"
+ }
+ ],
+ "title": "Evictions",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 9
+ },
+ "id": 6,
+ "targets": [ ],
+ "title": "Index performance",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Rate of indexed documents for the selected index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "documents/s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 10
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (opensearch_index_indexing_index_current_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Index rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Document indexing latency for the selected index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 6,
+ "y": 10
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (increase(opensearch_index_indexing_index_time_seconds{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=~\"total\"}[$__interval:]) / clamp_min(increase(opensearch_index_indexing_index_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=~\"total\"}[$__interval:]),1))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Index latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Number of indexing failures for the selected index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "failures"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 12,
+ "y": 10
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (increase(opensearch_index_indexing_index_failed_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}[$__interval:]))",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Index failures",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Index flush latency for the selected index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 18,
+ "y": 10
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (increase(opensearch_index_flush_total_time_seconds{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}[$__interval:]) / clamp_min(increase(opensearch_index_flush_total_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}[$__interval:]),1))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Flush latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Index merge time for the selected index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "points",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 18
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (increase(opensearch_index_merges_total_time_seconds{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}[$__interval:])) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}} - total"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (increase(opensearch_index_merges_total_stopped_time_seconds{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}[$__interval:])) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}} - stopped"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (increase(opensearch_index_merges_total_throttled_time_seconds{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}[$__interval:])) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}} - throttled"
+ }
+ ],
+ "title": "Merge time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Index refresh latency for the selected index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 6,
+ "y": 18
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (increase(opensearch_index_refresh_total_time_seconds{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}[$__interval:]) / clamp_min(increase(opensearch_index_refresh_total_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}[$__interval:]),1))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Refresh latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Current number of translog operations for the selected index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "operations"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 12,
+ "y": 18
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (opensearch_index_translog_operations_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Translog operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Rate of documents deleted for the selected index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "documents/s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 18,
+ "y": 18
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by (job,cluster,index) (opensearch_index_indexing_delete_current_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Docs deleted",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 26
+ },
+ "id": 15,
+ "targets": [ ],
+ "title": "Index capacity",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Number of indexed documents for the selected index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "documents"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 27
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by (job,cluster,index) (opensearch_index_indexing_index_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Documents indexed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Current number of segments for the selected index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "segments"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 6,
+ "y": 27
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (opensearch_index_segments_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Segment count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Number of merge operations for the selected index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "points",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "merges"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 12,
+ "y": 27
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (increase(opensearch_index_merges_total_docs_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}[$__interval:])) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Merge count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Size of query cache and request cache.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 18,
+ "y": 27
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (opensearch_index_querycache_memory_size_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}} - query"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (opensearch_index_requestcache_memory_size_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}} - request"
+ }
+ ],
+ "title": "Cache size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Size of the store in bytes for the selected index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 35
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (opensearch_index_store_size_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Store size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Memory used by segments for the selected index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 6,
+ "y": 35
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (opensearch_index_segments_memory_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Segment size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Size of merge operations in bytes for the selected index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "points",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 12,
+ "y": 35
+ },
+ "id": 22,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "avg by(job,cluster,index) (opensearch_index_merges_current_size_bytes{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", context=\"total\"}) > 0",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Merge size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "The number of index shards for the selected index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "shards"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 18,
+ "y": 35
+ },
+ "id": 23,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "sum by (index) (avg by(job,cluster,index) (opensearch_index_shards_number{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\",index=~\"$index\", type=~\"active|active_primary\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{index}}"
+ }
+ ],
+ "title": "Shard count",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "opensearch-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Data source",
+ "name": "datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(opensearch_index_search_fetch_count{cluster!=\"\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "query": "label_values(opensearch_index_search_fetch_count{cluster!=\"\",job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Index",
+ "multi": true,
+ "name": "index",
+ "query": "label_values(opensearch_index_search_fetch_count{cluster!=\"\",job=~\"$job\",cluster=~\"$cluster\"}, index)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "OpenSearch search and index overview",
+ "uid": "opensearch-search-and-index-overview"
+}
diff --git a/assets/opensearch/rules.yaml b/assets/opensearch/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/opensearch/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/openstack/alerts.yaml b/assets/openstack/alerts.yaml
new file mode 100644
index 0000000..7a31ac0
--- /dev/null
+++ b/assets/openstack/alerts.yaml
@@ -0,0 +1,104 @@
+groups:
+- name: openstack-alerts-openstack
+ rules:
+ - alert: OpenStackPlacementHighMemoryUsageWarning
+ annotations:
+ description: The cloud on instance {{$labels.instance}} is using {{ printf "%.0f"
+ $value }} percent of its allocated memory, which is above the threshold of
+ 80 percent.
+ summary: The cloud is using a significant percentage of its allocated memory.
+ expr: |
+ 100 * openstack_placement_resource_usage{job=~"integrations/openstack", resourcetype="MEMORY_MB"} / clamp_min(openstack_placement_resource_total{job=~"integrations/openstack", resourcetype="MEMORY_MB"}, 1) > 80
+ for: 5m
+ labels:
+ severity: warning
+ - alert: OpenStackPlacementHighMemoryUsageCritical
+ annotations:
+ description: The cloud on instance {{$labels.instance}} is using {{ printf "%.0f"
+ $value }} percent of its allocated memory, which is above the threshold of
+ 90 percent.
+ summary: The cloud is using a large percentage of its allocated memory, consider
+ allocating more resources.
+ expr: "100 * openstack_placement_resource_usage{job=~\"integrations/openstack\",
+ resourcetype=\"MEMORY_MB\"} / clamp_min(openstack_placement_resource_total{job=~\"integrations/openstack\",
+ resourcetype=\"MEMORY_MB\"}, 1) > 90 \n"
+ for: 5m
+ labels:
+ severity: critical
+ - alert: OpenStackNovaHighVMMemoryUsage
+ annotations:
+ description: Virtual machines on the cloud on {{$labels.instance}} are using
+ {{ printf "%.0f" $value }} percent of their allocated memory, which is above
+ the threshold of 80 percent.
+ summary: VMs are using a high percentage of their allocated memory.
+ expr: |
+ 100 * openstack_nova_limits_memory_used{job=~"integrations/openstack"} / clamp_min(openstack_nova_limits_memory_max{job=~"integrations/openstack"}, 1) > 80
+ for: 5m
+ labels:
+ severity: warning
+ - alert: OpenStackNovaHighVMVCPUUsage
+ annotations:
+ description: Virtual machines on the cloud on {{$labels.instance}} are using
+ {{ printf "%.0f" $value }} percent of their allocated virtual CPUs, which
+ is above the threshold of 80 percent.
+ summary: VMs are using a high percentage of their allocated virtual CPUs.
+ expr: |
+ 100 * openstack_nova_limits_vcpus_used{job=~"integrations/openstack"} / clamp_min(openstack_nova_limits_vcpus_max{job=~"integrations/openstack"}, 1) > 80
+ for: 5m
+ labels:
+ severity: warning
+ - alert: OpenStackNeutronHighDisconnectedPortRate
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent of ports managed by the Neutron
+ service on instance {{$labels.instance}} have no IP addresses assigned to
+ them, which is above the threshold of 25'
+ summary: A high rate of ports have no IP addresses assigned to them.
+ expr: |
+ 100 * openstack_neutron_ports_no_ips{job=~"integrations/openstack"} / clamp_min(openstack_neutron_ports{job=~"integrations/openstack"}, 1) > 25
+ for: 5m
+ labels:
+ severity: critical
+ - alert: OpenStackNeutronHighInactiveRouterRate
+ annotations:
+ description: '{{ printf "%.0f" $value }} percent of routers managed by the Neutron
+ service on instance {{$labels.instance}} are currently inactive, which is
+ above the threshold of 15'
+ summary: A high rate of routers are currently inactive.
+ expr: |
+ 100 * openstack_neutron_routers_not_active{job=~"integrations/openstack"} / clamp_min(openstack_neutron_routers{job=~"integrations/openstack"}, 1) > 15
+ for: 5m
+ labels:
+ severity: critical
+ - alert: OpenStackCinderHighBackupMemoryUsage
+ annotations:
+ description: Backups managed by the Cinder service on instance {{$labels.instance}}
+ are using {{ printf "%.0f" $value }} percent of their allocated memory, which
+ is above the threshold of 80 percent.
+ summary: Cinder backups are using a large amount of their maximum memory.
+ expr: |
+ 100 * openstack_cinder_limits_backup_used_gb{job=~"integrations/openstack"} / clamp_min(openstack_cinder_limits_backup_max_gb{job=~"integrations/openstack"}, 1) > 80
+ for: 5m
+ labels:
+ severity: warning
+ - alert: OpenStackCinderHighVolumeMemoryUsage
+ annotations:
+ description: Volumes managed by the Cinder service on instance {{$labels.instance}}
+ are using {{ printf "%.0f" $value }} percent of their allocated memory, which
+ is above the threshold of 80 percent.
+ summary: Cinder volumes are using a large amount of their maximum memory.
+ expr: |
+ 100 * openstack_cinder_limits_volume_used_gb{job=~"integrations/openstack"} / clamp_min(openstack_cinder_limits_volume_max_gb{job=~"integrations/openstack"}, 1) > 80
+ for: 5m
+ labels:
+ severity: warning
+ - alert: OpenStackCinderHighPoolCapacityUsage
+ annotations:
+ description: Pools managed by the Cinder service on instance {{$labels.instance}}
+ are using {{ printf "%.0f" $value }} percent of their allocated capacity,
+ which is above the threshold of 80 percent.
+ summary: Cinder pools are using a large amount of their maximum capacity.
+ expr: |
+ 100 * (openstack_cinder_pool_capacity_total_gb{job=~"integrations/openstack"} - openstack_cinder_pool_capacity_free_gb{job=~"integrations/openstack"}) / clamp_min(openstack_cinder_pool_capacity_total_gb{job=~"integrations/openstack"}, 1) > 80
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/openstack/dashboards/cinder b/assets/openstack/dashboards/cinder
new file mode 100644
index 0000000..58cdda0
--- /dev/null
+++ b/assets/openstack/dashboards/cinder
@@ -0,0 +1,593 @@
+{
+ "links": [
+ {
+ "keepTime": true,
+ "title": "OpenStack logs",
+ "type": "link",
+ "url": "/d/openstack-logs"
+ },
+ {
+ "keepTime": true,
+ "title": "OpenStack Neutron",
+ "type": "link",
+ "url": "/d/openstack-neutron"
+ },
+ {
+ "keepTime": true,
+ "title": "OpenStack Nova",
+ "type": "link",
+ "url": "/d/openstack-nova"
+ },
+ {
+ "keepTime": true,
+ "title": "OpenStack overview",
+ "type": "link",
+ "url": "/d/openstack-overview"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Reports the status of the Cinder block storage service.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Down"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Up"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "unit": "string"
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "options": {
+ "graphMode": "none"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_placement_up{job=~\"$job\",instance=~\"$instance\"}"
+ }
+ ],
+ "title": "Cinder status",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of volumes managed by Cinder.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 10,
+ "x": 4,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_cinder_volumes{job=~\"$job\",instance=~\"$instance\"}",
+ "interval": "1m",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Volumes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The current status of volumes in Cinder.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ }
+ },
+ "decimals": 0
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 10,
+ "x": 14,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_cinder_volume_status_counter{job=~\"$job\",instance=~\"$instance\", status=~\"error|error_backing-up|error_deleting|error_extending|error_restoring\"} > 0",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - {{status}}"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk(5, openstack_cinder_volume_status_counter{job=~\"$job\",instance=~\"$instance\", status!~\"error|error_backing-up|error_deleting|error_extending|error_restoring\"}) > 0",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - {{status}}"
+ }
+ ],
+ "title": "Volume status",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The percent of volume storage in use for Cinder.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "scheme",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "max": 1,
+ "min": 0,
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_cinder_limits_volume_used_gb{job=~\"$job\",instance=~\"$instance\"} / clamp_min(openstack_cinder_limits_volume_max_gb{job=~\"$job\",instance=~\"$instance\"}, 1)",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - {{tenant}}"
+ }
+ ],
+ "title": "Volume usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The percent of backup storage in use for Cinder.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "scheme",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "max": 1,
+ "min": 0,
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_cinder_limits_backup_used_gb{job=~\"$job\",instance=~\"$instance\"} / clamp_min(openstack_cinder_limits_backup_max_gb{job=~\"$job\",instance=~\"$instance\"}, 1)",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - {{tenant}}"
+ }
+ ],
+ "title": "Backup usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The percent of pool capacity in use for Cinder.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "scheme",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "max": 1,
+ "min": 0,
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "(openstack_cinder_pool_capacity_total_gb{job=~\"$job\",instance=~\"$instance\"} - openstack_cinder_pool_capacity_free_gb{job=~\"$job\",instance=~\"$instance\"}) / clamp_min(openstack_cinder_pool_capacity_total_gb{job=~\"$job\",instance=~\"$instance\"}, 1)",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - {{name}}"
+ }
+ ],
+ "title": "Pool usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of volume snapshots in Cinder.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_cinder_snapshots{job=~\"$job\",instance=~\"$instance\"}",
+ "interval": "1m",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Snapshots",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Details for the agents for OpenStack Cinder.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "align": "center",
+ "cellOptions": "color-text"
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Admin state"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "options": {
+ "disabled": {
+ "color": "red",
+ "index": 1,
+ "text": "Disabled"
+ },
+ "enabled": {
+ "color": "green",
+ "index": 0,
+ "text": "Enabled"
+ }
+ },
+ "type": "value"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 8,
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_cinder_agent_state{job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true
+ }
+ ],
+ "title": "Agents",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "Time",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Value": true,
+ "__name__": true,
+ "hostname": true,
+ "job": true
+ },
+ "includeByName": { },
+ "indexByName": {
+ "Time": 6,
+ "Value": 9,
+ "__name__": 7,
+ "adminState": 3,
+ "hostname": 5,
+ "instance": 1,
+ "job": 8,
+ "service": 0,
+ "uuid": 4,
+ "zone": 2
+ },
+ "renameByName": {
+ "Time": "",
+ "adminState": "Admin state",
+ "id": "ID",
+ "instance": "Instance",
+ "service": "Service",
+ "uuid": "UUID",
+ "zone": "Zone"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "openstack"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(openstack_identity_up{job=~\"integrations/openstack\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values(openstack_identity_up{job=~\"integrations/openstack\",job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "hide": 2,
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "(?!grafanacloud.+usage-insights|grafanacloud.+alert-state-history).+",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "OpenStack Cinder",
+ "uid": "openstack-cinder"
+}
diff --git a/assets/openstack/dashboards/logs b/assets/openstack/dashboards/logs
new file mode 100644
index 0000000..54b789f
--- /dev/null
+++ b/assets/openstack/dashboards/logs
@@ -0,0 +1,314 @@
+{
+ "links": [
+ {
+ "keepTime": true,
+ "title": "OpenStack Cinder",
+ "type": "link",
+ "url": "/d/openstack-cinder"
+ },
+ {
+ "keepTime": true,
+ "title": "OpenStack Neutron",
+ "type": "link",
+ "url": "/d/openstack-neutron"
+ },
+ {
+ "keepTime": true,
+ "title": "OpenStack Nova",
+ "type": "link",
+ "url": "/d/openstack-nova"
+ },
+ {
+ "keepTime": true,
+ "title": "OpenStack overview",
+ "type": "link",
+ "url": "/d/openstack-overview"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Logs volume grouped by \"level\" label.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "drawStyle": "bars",
+ "fillOpacity": 50,
+ "stacking": {
+ "mode": "normal"
+ }
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)merg|(F|f)atal|(A|a)lert|(C|c)rit.*"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)(rr.*|RR.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(W|w)(arn.*|ARN.*|rn|RN)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(N|n)(otice|ote)|(I|i)(nf.*|NF.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "dbg.*|DBG.*|(D|d)(EBUG|ebug)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(T|t)(race|RACE)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "logs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24
+ },
+ "id": 1,
+ "interval": "30s",
+ "options": {
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "sum by (level) (count_over_time({job=~\"integrations/openstack\",job=~\"$job\",level=~\"$level\",service=~\"$service\"}\n|~ \"$regex_search\"\n\n[$__interval]))\n",
+ "legendFormat": "{{ level }}"
+ }
+ ],
+ "title": "Logs volume",
+ "transformations": [
+ {
+ "id": "renameByRegex",
+ "options": {
+ "regex": "Value",
+ "renamePattern": "logs"
+ }
+ }
+ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "gridPos": {
+ "h": 18,
+ "w": 24
+ },
+ "id": 2,
+ "options": {
+ "dedupStrategy": "exact",
+ "enableLogDetails": true,
+ "prettifyLogMessage": true,
+ "showTime": false,
+ "wrapLogMessage": false
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "{job=~\"integrations/openstack\",job=~\"$job\",level=~\"$level\",service=~\"$service\"} \n|~ \"$regex_search\"\n\n\n"
+ }
+ ],
+ "title": "Logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "openstack"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "(?!grafanacloud.+usage-insights|grafanacloud.+alert-state-history).+",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values({job=~\"integrations/openstack\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Level",
+ "multi": true,
+ "name": "level",
+ "query": "label_values({job=~\"integrations/openstack\",job=~\"$job\"}, level)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Service",
+ "multi": true,
+ "name": "service",
+ "query": "label_values({job=~\"integrations/openstack\",job=~\"$job\",level=~\"$level\"}, service)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "",
+ "value": ""
+ },
+ "label": "Regex search",
+ "name": "regex_search",
+ "options": [
+ {
+ "selected": true,
+ "text": "",
+ "value": ""
+ }
+ ],
+ "query": "",
+ "type": "textbox"
+ },
+ {
+ "hide": 2,
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "OpenStack logs",
+ "uid": "openstack-logs"
+}
diff --git a/assets/openstack/dashboards/neutron b/assets/openstack/dashboards/neutron
new file mode 100644
index 0000000..d2aa9de
--- /dev/null
+++ b/assets/openstack/dashboards/neutron
@@ -0,0 +1,910 @@
+{
+ "links": [
+ {
+ "keepTime": true,
+ "title": "OpenStack Cinder",
+ "type": "link",
+ "url": "/d/openstack-cinder"
+ },
+ {
+ "keepTime": true,
+ "title": "OpenStack logs",
+ "type": "link",
+ "url": "/d/openstack-logs"
+ },
+ {
+ "keepTime": true,
+ "title": "OpenStack Nova",
+ "type": "link",
+ "url": "/d/openstack-nova"
+ },
+ {
+ "keepTime": true,
+ "title": "OpenStack overview",
+ "type": "link",
+ "url": "/d/openstack-overview"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Reports the status of the Neutron networking service.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Down"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Up"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "unit": "string"
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "options": {
+ "graphMode": "none"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_placement_up{job=~\"$job\",instance=~\"$instance\"}"
+ }
+ ],
+ "title": "Neutron status",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of networks managed by Neutron.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 9,
+ "x": 6,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_neutron_networks{job=~\"$job\",instance=~\"$instance\"}",
+ "interval": "1m",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Networks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of networks managed by Neutron.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 9,
+ "x": 15,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_neutron_subnets{job=~\"$job\",instance=~\"$instance\"}",
+ "interval": "1m",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Subnets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of routers managed by Neutron.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_neutron_routers{job=~\"$job\",instance=~\"$instance\"}",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - total"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_neutron_routers_not_active{job=~\"$job\",instance=~\"$instance\"}",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - inactive"
+ }
+ ],
+ "title": "Routers",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Detailed view of the routers managed by Neutron.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "align": "center"
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Admin up|Status/"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "options": {
+ "ACTIVE": {
+ "color": "green",
+ "index": 2,
+ "text": "Active"
+ },
+ "DOWN": {
+ "color": "red",
+ "index": 3,
+ "text": "Down"
+ },
+ "false": {
+ "color": "red",
+ "index": 1,
+ "text": "False"
+ },
+ "true": {
+ "color": "green",
+ "index": 0,
+ "text": "True"
+ }
+ },
+ "type": "value"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 5,
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_neutron_router{job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true
+ }
+ ],
+ "title": "Router details",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "Time",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Value": true,
+ "__name__": true,
+ "hostname": true,
+ "job": true,
+ "project_id": true
+ },
+ "includeByName": { },
+ "indexByName": {
+ "Time": 7,
+ "Value": 10,
+ "__name__": 8,
+ "admin_state_up": 3,
+ "external_network_id": 5,
+ "id": 4,
+ "instance": 1,
+ "job": 9,
+ "name": 0,
+ "project_id": 6,
+ "status": 2
+ },
+ "renameByName": {
+ "Time": "",
+ "adminState": "Admin state",
+ "admin_state_up": "Admin up",
+ "external_network_id": "External network ID",
+ "id": "ID",
+ "instance": "Instance",
+ "name": "Name",
+ "project_id": "",
+ "service": "Service",
+ "status": "Status",
+ "zone": "Zone"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of routers managed by Neutron.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 16
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_neutron_ports{job=~\"$job\",instance=~\"$instance\"}",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - total"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_neutron_ports_lb_not_active{job=~\"$job\",instance=~\"$instance\"}",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - load balancer inactive"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_neutron_ports_no_ips{job=~\"$job\",instance=~\"$instance\"}",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - no IPs"
+ }
+ ],
+ "title": "Ports",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Detailed view of the ports managed by Neutron.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "align": "center"
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Admin up|Status/"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "options": {
+ "ACTIVE": {
+ "color": "green",
+ "index": 2,
+ "text": "Active"
+ },
+ "DOWN": {
+ "color": "red",
+ "index": 3,
+ "text": "Down"
+ },
+ "false": {
+ "color": "red",
+ "index": 1,
+ "text": "False"
+ },
+ "true": {
+ "color": "green",
+ "index": 0,
+ "text": "True"
+ }
+ },
+ "type": "value"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 16,
+ "x": 8,
+ "y": 16
+ },
+ "id": 7,
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_neutron_port{job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true
+ }
+ ],
+ "title": "Port details",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "Time",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Value": true,
+ "__name__": true,
+ "fixed_ips": true,
+ "hostname": true,
+ "job": true
+ },
+ "includeByName": { },
+ "indexByName": {
+ "Time": 8,
+ "Value": 11,
+ "__name__": 9,
+ "admin_state_up": 3,
+ "binding_vif_type": 6,
+ "device_owner": 5,
+ "instance": 0,
+ "job": 10,
+ "mac_address": 1,
+ "network_id": 4,
+ "status": 2,
+ "uuid": 7
+ },
+ "renameByName": {
+ "Time": "",
+ "adminState": "Admin state",
+ "admin_state_up": "Admin up",
+ "binding_vif_type": "Binding VIF type",
+ "device_owner": "Device owner",
+ "fixed_ips": "",
+ "id": "ID",
+ "instance": "Instance",
+ "mac_address": "MAC address",
+ "network_id": "Network ID",
+ "service": "Service",
+ "status": "Status",
+ "uuid": "UUID",
+ "zone": "Zone"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of public IP addresses managed by Neutron.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_neutron_floating_ips{job=~\"$job\",instance=~\"$instance\"}",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - total"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_neutron_floating_ips_associated_not_active{job=~\"$job\",instance=~\"$instance\"}",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - associated inactive"
+ }
+ ],
+ "title": "Floating IPs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The usage of available IP addresses broken down by subnet.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "scheme",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "max": 1,
+ "min": 0,
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, instance, ip_version, subnet_name) (openstack_neutron_network_ip_availabilities_used{job=~\"$job\",instance=~\"$instance\"}) / sum by (job, instance, ip_version, subnet_name)(openstack_neutron_network_ip_availabilities_total{job=~\"$job\",instance=~\"$instance\"})",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - {{subnet_name}}"
+ }
+ ],
+ "title": "IPs used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of network security groups managed by Neutron.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_neutron_security_groups{job=~\"$job\",instance=~\"$instance\"}",
+ "interval": "1m",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Security groups",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Details for the agents for OpenStack Neutron.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "align": "center"
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Admin state"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "options": {
+ "down": {
+ "color": "red",
+ "index": 1,
+ "text": "Down"
+ },
+ "up": {
+ "color": "green",
+ "index": 0,
+ "text": "Up"
+ }
+ },
+ "type": "value"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 32
+ },
+ "id": 11,
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_neutron_agent_state{job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true
+ }
+ ],
+ "title": "Agents",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "Time",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Value": true,
+ "__name__": true,
+ "hostname": true,
+ "job": true
+ },
+ "includeByName": { },
+ "indexByName": {
+ "Time": 6,
+ "Value": 9,
+ "__name__": 7,
+ "adminState": 3,
+ "hostname": 5,
+ "id": 4,
+ "instance": 1,
+ "job": 8,
+ "service": 0,
+ "zone": 2
+ },
+ "renameByName": {
+ "Time": "",
+ "adminState": "Admin state",
+ "id": "ID",
+ "instance": "Instance",
+ "service": "Service",
+ "zone": "Zone"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "openstack"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(openstack_identity_up{job=~\"integrations/openstack\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values(openstack_identity_up{job=~\"integrations/openstack\",job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "hide": 2,
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "(?!grafanacloud.+usage-insights|grafanacloud.+alert-state-history).+",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "OpenStack Neutron",
+ "uid": "openstack-neutron"
+}
diff --git a/assets/openstack/dashboards/nova b/assets/openstack/dashboards/nova
new file mode 100644
index 0000000..4208d29
--- /dev/null
+++ b/assets/openstack/dashboards/nova
@@ -0,0 +1,478 @@
+{
+ "links": [
+ {
+ "keepTime": true,
+ "title": "OpenStack Cinder",
+ "type": "link",
+ "url": "/d/openstack-cinder"
+ },
+ {
+ "keepTime": true,
+ "title": "OpenStack logs",
+ "type": "link",
+ "url": "/d/openstack-logs"
+ },
+ {
+ "keepTime": true,
+ "title": "OpenStack Neutron",
+ "type": "link",
+ "url": "/d/openstack-neutron"
+ },
+ {
+ "keepTime": true,
+ "title": "OpenStack overview",
+ "type": "link",
+ "url": "/d/openstack-overview"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Reports the status of the Nova compute service.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Down"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Up"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "unit": "string"
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "options": {
+ "graphMode": "none"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_placement_up{job=~\"$job\",instance=~\"$instance\"}"
+ }
+ ],
+ "title": "Nova status",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The current number of total and running virtual machines.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 18,
+ "x": 6,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_nova_total_vms{job=~\"$job\",instance=~\"$instance\"}",
+ "interval": "1m",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "VMs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Percentage of the maximum number of instances in use for each project.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "scheme",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "max": 1,
+ "min": 0,
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_nova_limits_instances_used{job=~\"$job\",instance=~\"$instance\"} / clamp_min(openstack_nova_limits_instances_max{job=~\"$job\",instance=~\"$instance\"}, 1)",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - {{tenant}}"
+ }
+ ],
+ "title": "Instance usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Percentage of the maximum number of virtual CPUs in use for each project.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "scheme",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "max": 1,
+ "min": 0,
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_nova_limits_vcpus_used{job=~\"$job\",instance=~\"$instance\"} / clamp_min(openstack_nova_limits_vcpus_max{job=~\"$job\",instance=~\"$instance\"}, 1)",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - {{tenant}}"
+ }
+ ],
+ "title": "VCPU usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Percentage of the maximum amount of memory in use for each project.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "scheme",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "max": 1,
+ "min": 0,
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_nova_limits_memory_used{job=~\"$job\",instance=~\"$instance\"} / clamp_min(openstack_nova_limits_memory_max{job=~\"$job\",instance=~\"$instance\"}, 1)",
+ "interval": "1m",
+ "legendFormat": "{{instance}} - {{tenant}}"
+ }
+ ],
+ "title": "Memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Details for the agents for OpenStack Nova.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "align": "center"
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Admin state"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "options": {
+ "disabled": {
+ "color": "red",
+ "index": 1,
+ "text": "Disabled"
+ },
+ "enabled": {
+ "color": "green",
+ "index": 0,
+ "text": "Enabled"
+ }
+ },
+ "type": "value"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 6,
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_nova_agent_state{job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true
+ }
+ ],
+ "title": "Agents",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "Time",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Value": true,
+ "__name__": true,
+ "hostname": true,
+ "job": true
+ },
+ "includeByName": { },
+ "indexByName": {
+ "Time": 6,
+ "Value": 9,
+ "__name__": 7,
+ "adminState": 3,
+ "hostname": 5,
+ "id": 4,
+ "instance": 1,
+ "job": 8,
+ "service": 0,
+ "zone": 2
+ },
+ "renameByName": {
+ "Time": "",
+ "adminState": "Admin state",
+ "id": "ID",
+ "instance": "Instance",
+ "service": "Service",
+ "zone": "Zone"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "openstack"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(openstack_identity_up{job=~\"integrations/openstack\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values(openstack_identity_up{job=~\"integrations/openstack\",job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "hide": 2,
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "(?!grafanacloud.+usage-insights|grafanacloud.+alert-state-history).+",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "OpenStack Nova",
+ "uid": "openstack-nova"
+}
diff --git a/assets/openstack/dashboards/overview b/assets/openstack/dashboards/overview
new file mode 100644
index 0000000..75ccffc
--- /dev/null
+++ b/assets/openstack/dashboards/overview
@@ -0,0 +1,1156 @@
+{
+ "links": [
+ {
+ "keepTime": true,
+ "title": "OpenStack Cinder",
+ "type": "link",
+ "url": "/d/openstack-cinder"
+ },
+ {
+ "keepTime": true,
+ "title": "OpenStack logs",
+ "type": "link",
+ "url": "/d/openstack-logs"
+ },
+ {
+ "keepTime": true,
+ "title": "OpenStack Neutron",
+ "type": "link",
+ "url": "/d/openstack-neutron"
+ },
+ {
+ "keepTime": true,
+ "title": "OpenStack Nova",
+ "type": "link",
+ "url": "/d/openstack-nova"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Reports the status of the Placement resource-scheduling service.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Down"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Up"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "unit": "string"
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "options": {
+ "graphMode": "none"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_placement_up{job=~\"$job\",instance=~\"$instance\"}"
+ }
+ ],
+ "title": "Placement status",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Reports the status of the Keystone identity service.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Down"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Up"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "unit": "string"
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 4,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "graphMode": "none"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_placement_up{job=~\"$job\",instance=~\"$instance\"}"
+ }
+ ],
+ "title": "Keystone status",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Reports the status of the Nova compute service.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Down"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Up"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "unit": "string"
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 8,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "graphMode": "none"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_placement_up{job=~\"$job\",instance=~\"$instance\"}"
+ }
+ ],
+ "title": "Nova status",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Reports the status of the Neutron networking service.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Down"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Up"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "unit": "string"
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 12,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "graphMode": "none"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_placement_up{job=~\"$job\",instance=~\"$instance\"}"
+ }
+ ],
+ "title": "Neutron status",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Reports the status of the Cinder block storage service.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Down"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Up"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "unit": "string"
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 16,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "graphMode": "none"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_placement_up{job=~\"$job\",instance=~\"$instance\"}"
+ }
+ ],
+ "title": "Cinder status",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Reports the status of the Glance image service.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Down"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Up"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "unit": "string"
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 20,
+ "y": 0
+ },
+ "id": 6,
+ "options": {
+ "graphMode": "none"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_placement_up{job=~\"$job\",instance=~\"$instance\"}"
+ }
+ ],
+ "title": "Glance status",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "description": "Panel to report on the status of firing alerts.",
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 8
+ },
+ "id": 7,
+ "options": {
+ "alertInstanceLabelFilter": "job=~\"${job:regex}\""
+ },
+ "pluginVersion": "v10.0.0",
+ "title": "Alerts",
+ "type": "alertlist"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Summary of the hardware resources available and used by OpenStack.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "align": "center"
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Disk/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "decgbytes"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/Memory/"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "decmbytes"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 16,
+ "x": 8,
+ "y": 8
+ },
+ "id": 8,
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_placement_resource_total{job=~\"$job\",instance=~\"$instance\", resourcetype=\"DISK_GB\"}",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_placement_resource_usage{job=~\"$job\",instance=~\"$instance\", resourcetype=\"DISK_GB\"}",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_placement_resource_total{job=~\"$job\",instance=~\"$instance\", resourcetype=\"MEMORY_MB\"}",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_placement_resource_usage{job=~\"$job\",instance=~\"$instance\", resourcetype=\"MEMORY_MB\"}",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_placement_resource_total{job=~\"$job\",instance=~\"$instance\", resourcetype=\"VCPU\"}",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_placement_resource_usage{job=~\"$job\",instance=~\"$instance\", resourcetype=\"VCPU\"}",
+ "format": "table",
+ "instant": true
+ }
+ ],
+ "title": "Total resources",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "instance",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true,
+ "__name__ 1": true,
+ "__name__ 2": true,
+ "__name__ 3": true,
+ "__name__ 4": true,
+ "__name__ 5": true,
+ "__name__ 6": true,
+ "hostname 1": true,
+ "hostname 2": true,
+ "hostname 3": true,
+ "hostname 4": true,
+ "hostname 5": true,
+ "hostname 6": true,
+ "job": true,
+ "job 1": true,
+ "job 2": true,
+ "job 3": true,
+ "job 4": true,
+ "job 5": true,
+ "job 6": true,
+ "resourcetype 1": true,
+ "resourcetype 2": true,
+ "resourcetype 3": true,
+ "resourcetype 4": true,
+ "resourcetype 5": true,
+ "resourcetype 6": true
+ },
+ "includeByName": { },
+ "indexByName": {
+ "Time 1": 34,
+ "Time 2": 9,
+ "Time 3": 14,
+ "Time 4": 19,
+ "Time 5": 24,
+ "Time 6": 29,
+ "Value #A": 3,
+ "Value #B": 4,
+ "Value #C": 5,
+ "Value #D": 6,
+ "Value #E": 7,
+ "Value #F": 8,
+ "__name__ 1": 1,
+ "__name__ 2": 10,
+ "__name__ 3": 15,
+ "__name__ 4": 20,
+ "__name__ 5": 25,
+ "__name__ 6": 30,
+ "hostname 1": 35,
+ "hostname 2": 11,
+ "hostname 3": 16,
+ "hostname 4": 21,
+ "hostname 5": 26,
+ "hostname 6": 31,
+ "instance": 0,
+ "job 1": 36,
+ "job 2": 12,
+ "job 3": 17,
+ "job 4": 22,
+ "job 5": 27,
+ "job 6": 32,
+ "resourcetype 1": 2,
+ "resourcetype 2": 13,
+ "resourcetype 3": 18,
+ "resourcetype 4": 23,
+ "resourcetype 5": 28,
+ "resourcetype 6": 33
+ },
+ "renameByName": {
+ "Time": "",
+ "Value #A": "Disk available",
+ "Value #B": "Disk used",
+ "Value #C": "Memory avaliable",
+ "Value #D": "Memory used",
+ "Value #E": "VCPUs available",
+ "Value #F": "VCPUs used",
+ "hostname": "Hostname",
+ "instance": "Instance",
+ "openstack_placement_resource_total": "Total",
+ "openstack_placement_resource_usage": "In use",
+ "resourcetype": "Resource"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 16
+ },
+ "id": 9,
+ "title": "Keystone service",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of domains for the OpenStack cloud.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 0,
+ "y": 17
+ },
+ "id": 10,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_identity_domains{job=~\"$job\",instance=~\"$instance\"}"
+ }
+ ],
+ "title": "Domains",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of projects for the OpenStack cloud.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 4,
+ "y": 17
+ },
+ "id": 11,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_identity_projects{job=~\"$job\",instance=~\"$instance\"}"
+ }
+ ],
+ "title": "Projects",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of regions for the OpenStack cloud.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 4,
+ "x": 8,
+ "y": 17
+ },
+ "id": 12,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_identity_regions{job=~\"$job\",instance=~\"$instance\"}"
+ }
+ ],
+ "title": "Regions",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of users for the OpenStack cloud.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 17
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_identity_users{job=~\"$job\",instance=~\"$instance\"}",
+ "interval": "1m",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Users",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Details for the projects in the OpenStack cloud.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "align": "center"
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Enabled"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "mappings",
+ "value": [
+ {
+ "options": {
+ "false": {
+ "color": "red",
+ "index": 1,
+ "text": "False"
+ },
+ "true": {
+ "color": "green",
+ "index": 0,
+ "text": "True"
+ }
+ },
+ "type": "value"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 25
+ },
+ "id": 14,
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_identity_project_info{job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true
+ }
+ ],
+ "title": "Project details",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "Time",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Value": true,
+ "__name__": true,
+ "description": true,
+ "job": true,
+ "parent_id": true
+ },
+ "includeByName": { },
+ "indexByName": {
+ "Time": 3,
+ "Value": 11,
+ "__name__": 4,
+ "description": 5,
+ "domain_id": 7,
+ "enabled": 6,
+ "id": 1,
+ "instance": 2,
+ "is_domain": 8,
+ "job": 10,
+ "name": 0,
+ "parent_id": 9
+ },
+ "renameByName": {
+ "domain_id": "Domain ID",
+ "enabled": "Enabled",
+ "id": "ID",
+ "instance": "Instance",
+ "is_domain": "Is domain",
+ "name": "Name"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 33
+ },
+ "id": 15,
+ "title": "Glance service",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Reports the status of the Glance image service.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Down"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Up"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "unit": "string"
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 34
+ },
+ "id": 16,
+ "options": {
+ "graphMode": "none"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_placement_up{job=~\"$job\",instance=~\"$instance\"}"
+ }
+ ],
+ "title": "Glance status",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of images present in Glance.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 0
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 18,
+ "x": 6,
+ "y": 34
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_glance_images{job=~\"$job\",instance=~\"$instance\"}",
+ "interval": "1m",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Image count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Details for the images in Glance.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "align": "center"
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Size"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "decbytes"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 42
+ },
+ "id": 18,
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "openstack_glance_image_bytes{job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true
+ }
+ ],
+ "title": "Images",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "Time",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "__name__": true,
+ "job": true
+ },
+ "includeByName": { },
+ "indexByName": {
+ "Time": 5,
+ "Value": 2,
+ "__name__": 6,
+ "id": 1,
+ "instance": 3,
+ "job": 7,
+ "name": 0,
+ "tenant_id": 4
+ },
+ "renameByName": {
+ "Value": "Size",
+ "id": "ID",
+ "instance": "Instance",
+ "name": "Name",
+ "tenant_id": "Tenant ID"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "openstack"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(openstack_identity_up{job=~\"integrations/openstack\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values(openstack_identity_up{job=~\"integrations/openstack\",job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "hide": 2,
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "(?!grafanacloud.+usage-insights|grafanacloud.+alert-state-history).+",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "OpenStack overview",
+ "uid": "openstack-overview"
+}
diff --git a/assets/openstack/rules.yaml b/assets/openstack/rules.yaml
new file mode 100644
index 0000000..0967ef4
--- /dev/null
+++ b/assets/openstack/rules.yaml
@@ -0,0 +1 @@
+{}
diff --git a/assets/oracledb/alerts.yaml b/assets/oracledb/alerts.yaml
new file mode 100644
index 0000000..074c834
--- /dev/null
+++ b/assets/oracledb/alerts.yaml
@@ -0,0 +1,36 @@
+groups:
+- name: OracleDBAlerts
+ rules:
+ - alert: OracledbReachingSessionLimit
+ annotations:
+ description: '{{ printf "%.2f" $value }}% of sessions are being utilized which
+ is above the threshold 85%. This could mean that {{$labels.instance}} is being
+ overutilized.'
+ summary: The number of sessions being utilized exceeded 85%.
+ expr: |
+ oracledb_resource_current_utilization{resource_name="sessions"} / oracledb_resource_limit_value{resource_name="sessions"} * 100 > 85
+ for: 5m
+ labels:
+ severity: critical
+ - alert: OracledbReachingProcessLimit
+ annotations:
+ description: '{{ printf "%.2f" $value }} of processes are being utilized which
+ is above thethreshold 85%. This could potentially mean that {{$labels.instance}}
+ runs out of processes it can spin up.'
+ summary: The number of processess being utilized exceeded the threshold of 85%.
+ expr: |
+ oracledb_resource_current_utilization{resource_name="processes"} / oracledb_resource_limit_value{resource_name="processes"} * 100 > 85
+ for: 5m
+ labels:
+ severity: critical
+ - alert: OracledbTablespaceReachingCapacity
+ annotations:
+ description: '{{ printf "%.2f" $value }}% of bytes are being utilized by the
+ tablespace {{$labels.tablespace}} on the instance {{$labels.instance}}, which
+ is above the threshold 85%.'
+ summary: A tablespace is exceeding more than 85% of its maximum allotted space.
+ expr: |
+ oracledb_tablespace_bytes / oracledb_tablespace_max_bytes * 100 > 85
+ for: 5m
+ labels:
+ severity: critical
diff --git a/assets/oracledb/dashboards/oracledb-overview.json b/assets/oracledb/dashboards/oracledb-overview.json
new file mode 100644
index 0000000..e2f59e5
--- /dev/null
+++ b/assets/oracledb/dashboards/oracledb-overview.json
@@ -0,0 +1,1346 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "editable": true,
+ "gnetId": null,
+ "graphTooltip": 1,
+ "hideControls": false,
+ "id": null,
+ "links": [ ],
+ "panels": [
+ {
+ "description": "Database status either Up or Down. Colored to be green when Up or red when Down",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "index": 0,
+ "text": "Down"
+ },
+ "1": {
+ "index": 1,
+ "text": "OK"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red"
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.1.8",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "oracledb_up{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Database status",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of sessions and the limit overtime.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 10,
+ "x": 4,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "oracledb_resource_current_utilization{job=~\"$job\", instance=~\"$instance\",resource_name=\"sessions\"}",
+ "legendFormat": "{{instance}} - open",
+ "range": true,
+ "refId": "Open"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "oracledb_resource_limit_value{job=~\"$job\", instance=~\"$instance\",resource_name=\"sessions\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - limit",
+ "range": true,
+ "refId": "Limit"
+ }
+ ],
+ "title": "Sessions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of processes and the limit overtime.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 10,
+ "x": 14,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "oracledb_resource_current_utilization{job=~\"$job\", instance=~\"$instance\",resource_name=\"processes\"}",
+ "legendFormat": "{{instance}} - current",
+ "range": true,
+ "refId": "Current"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "oracledb_resource_limit_value{job=~\"$job\", instance=~\"$instance\",resource_name=\"processes\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - limit",
+ "range": true,
+ "refId": "Limit"
+ }
+ ],
+ "title": "Processes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$loki_datasource"
+ },
+ "description": "Recent logs from alert log file",
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 6
+ },
+ "id": 5,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "pluginVersion": "9.1.8",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$loki_datasource"
+ },
+ "editorMode": "builder",
+ "expr": "{filename=~\"/.*/.*/diag/rdbms/.*/.*/trace/alert_.*log\",job=~\"$job\", instance=~\"$instance\"}",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Alert logs",
+ "type": "logs"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 13
+ },
+ "id": 6,
+ "title": "Wait time",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Application wait time, in seconds, waiting for wait events.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 14
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "oracledb_wait_time_application{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "{{instance}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Application wait time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Commit wait time, in seconds, waiting for wait events.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 6,
+ "y": 14
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "oracledb_wait_time_commit{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "{{instance}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Commit wait time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Concurrency wait time, in seconds, waiting for wait events.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 12,
+ "y": 14
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "oracledb_wait_time_concurrency{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "{{instance}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Concurrency wait time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Configuration wait time, in seconds waiting for wait events.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 14
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "oracledb_wait_time_configuration{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "{{instance}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Configuration wait time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Network wait time, in seconds, waiting for wait events.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 20
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "oracledb_wait_time_network{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "{{instance}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Network wait time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Scheduler wait time, in seconds, waiting for wait events.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 6,
+ "y": 20
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "oracledb_wait_time_scheduler{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "{{instance}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Scheduler wait time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "System I/O wait time, in seconds, waiting for wait events.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 12,
+ "y": 20
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "oracledb_wait_time_system_io{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "{{instance}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "System I/O wait time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "User I/O wait time, in seconds, waiting for wait events.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 20
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "oracledb_wait_time_user_io{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "{{instance}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "User I/O wait time",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 26
+ },
+ "id": 15,
+ "title": "Tablespace",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Shows the size overtime for the tablespace.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "oracledb_tablespace_bytes{job=~\"$job\", instance=~\"$instance\",tablespace=~\"$tablespace\"}",
+ "legendFormat": "{{instance}} - {{tablespace}} - used",
+ "range": true,
+ "refId": "Used Bytes"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "oracledb_tablespace_free{job=~\"$job\", instance=~\"$instance\",tablespace=~\"$tablespace\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - {{tablespace}} - free",
+ "range": true,
+ "refId": "Free"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "oracledb_tablespace_max_bytes{job=~\"$job\", instance=~\"$instance\",tablespace=~\"$tablespace\"}",
+ "hide": false,
+ "legendFormat": "{{instance}} - {{tablespace}} - max",
+ "range": true,
+ "refId": "Max"
+ }
+ ],
+ "title": "Tablespace size",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "oracledb-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "hide": 0,
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "hide": 0,
+ "label": "Loki datasource",
+ "name": "loki_datasource",
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(oracledb_up, job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(oracledb_up, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "text": "",
+ "value": ""
+ },
+ "datasource": "$prometheus_datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(oracledb_up, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Tablespace",
+ "multi": true,
+ "name": "tablespace",
+ "options": [ ],
+ "query": "label_values(oracledb_tablespace_bytes{job=~\"$job\", instance=~\"$instance\"}, tablespace)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "OracleDB overview",
+ "uid": "oracledb-overview",
+ "version": 0
+}
diff --git a/assets/oracledb/rules.yaml b/assets/oracledb/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/oracledb/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/pgbouncer/alerts.yaml b/assets/pgbouncer/alerts.yaml
new file mode 100644
index 0000000..9c1a234
--- /dev/null
+++ b/assets/pgbouncer/alerts.yaml
@@ -0,0 +1,45 @@
+groups:
+- name: pgbouncer
+ rules:
+ - alert: PGBouncerHighNumberClientWaitingConnections
+ annotations:
+ description: |
+ The number of clients waiting for connections on {{ $labels.instance }} is now above 20. The current value is {{ $value | printf "%.2f" }}.
+ summary: May indicate a bottleneck in connection pooling where too many clients
+ are waiting for available server connections.
+ expr: |
+ pgbouncer_pools_client_waiting_connections{job=~"integrations/pgbouncer"} > 20
+ for: 5m
+ labels:
+ severity: warning
+ - alert: PGBouncerHighClientWaitTime
+ annotations:
+ description: |
+ The wait time for user connections on {{ $labels.instance }}, is above 15. The current value is {{ $value | printf "%.2f" }}.
+ summary: Clients are experiencing significant delays, which could indicate issues
+ with connection pool saturation or server performance.
+ expr: |
+ pgbouncer_pools_client_maxwait_seconds{job=~"integrations/pgbouncer"} > 15
+ for: 5m
+ labels:
+ severity: warning
+ - alert: PGBouncerHighServerConnectionSaturationWarning
+ annotations:
+ description: |
+ User connection capacity on {{ $labels.instance }}, is above 80%. The current value is {{ $value | printf "%.2f" }}.
+ summary: PGBouncer is nearing user connection capacity.
+ expr: |
+ 100 * (sum without (database, user) (pgbouncer_pools_server_active_connections{job=~"integrations/pgbouncer"} + pgbouncer_pools_server_idle_connections{job=~"integrations/pgbouncer"} + pgbouncer_pools_server_used_connections{job=~"integrations/pgbouncer"}) / clamp_min(pgbouncer_config_max_user_connections{job=~"integrations/pgbouncer"},1)) > 80
+ for: 5m
+ labels:
+ severity: warning
+ - alert: PGBouncerHighServerConnectionSaturationCritical
+ annotations:
+ description: |
+ User connection capacity on {{ $labels.instance }}, is above 90%. The current value is {{ $value | printf "%.2f" }}.
+ summary: PGBouncer is nearing critical levels of user connection capacity.
+ expr: |
+ 100 * (sum without (database, user) (pgbouncer_pools_server_active_connections{job=~"integrations/pgbouncer"} + pgbouncer_pools_server_idle_connections{job=~"integrations/pgbouncer"} + pgbouncer_pools_server_used_connections{job=~"integrations/pgbouncer"}) / clamp_min(pgbouncer_config_max_user_connections{job=~"integrations/pgbouncer"},1)) > 90
+ for: 5m
+ labels:
+ severity: critical
diff --git a/assets/pgbouncer/dashboards/clusterOverview b/assets/pgbouncer/dashboards/clusterOverview
new file mode 100644
index 0000000..8ad1c46
--- /dev/null
+++ b/assets/pgbouncer/dashboards/clusterOverview
@@ -0,0 +1,334 @@
+{
+ "links": [
+ {
+ "keepTime": true,
+ "title": "PgBouncer logs",
+ "type": "link",
+ "url": "/d/pgbouncer-logs"
+ },
+ {
+ "keepTime": true,
+ "title": "PgBouncer overview",
+ "type": "link",
+ "url": "/d/pgbouncer-overview"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top databases by current number of active client connections.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "conn"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(database, instance, pgbouncer_cluster)($top_database_count, pgbouncer_pools_client_active_connections{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",job=~\"integrations/pgbouncer\"})",
+ "legendFormat": "{{pgbouncer_cluster}} - {{instance}} - {{database}}"
+ }
+ ],
+ "title": "Top databases by active connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "alertInstanceLabelFilter": "job=~\"${job:regex}\",pgbouncer_cluster=~\"${pgbouncer_cluster:regex}\""
+ },
+ "pluginVersion": "v10.0.0",
+ "title": "PgBouncer alerts",
+ "type": "alertlist"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top databases by rate of SQL queries pooled by PgBouncer.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "ops"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(database, instance, pgbouncer_cluster)($top_database_count, rate(pgbouncer_stats_queries_pooled_total{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",job=~\"integrations/pgbouncer\"}[$__rate_interval]))",
+ "legendFormat": "{{pgbouncer_cluster}} - {{instance}} - {{database}}"
+ }
+ ],
+ "title": "Top databases by queries processed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top databases by average duration of queries being processed by PgBouncer.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(database, instance, pgbouncer_cluster)($top_database_count, 1000 * increase(pgbouncer_stats_queries_duration_seconds_total{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",job=~\"integrations/pgbouncer\"}[$__interval:]) / clamp_min(increase(pgbouncer_stats_queries_pooled_total{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",job=~\"integrations/pgbouncer\"}[$__interval:]), 1))",
+ "legendFormat": "{{pgbouncer_cluster}} - {{instance}} - {{database}}"
+ }
+ ],
+ "title": "Top databases by average query duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top databases by volume of network traffic.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 12
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(database, instance, pgbouncer_cluster)($top_database_count, rate(pgbouncer_stats_received_bytes_total{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",job=~\"integrations/pgbouncer\"}[$__rate_interval]))",
+ "legendFormat": "{{pgbouncer_cluster}} - {{instance}} - {{database}} - received"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(database, instance, pgbouncer_cluster)($top_database_count, rate(pgbouncer_stats_sent_bytes_total{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",job=~\"integrations/pgbouncer\"}[$__rate_interval]))",
+ "legendFormat": "{{pgbouncer_cluster}} - {{instance}} - {{database}} - sent"
+ }
+ ],
+ "title": "Top databases by network traffic",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "pgbouncer"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Prometheus data source",
+ "name": "prometheus_datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(pgbouncer_databases_current_connections{job=~\"integrations/pgbouncer\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": true,
+ "label": "Pgbouncer_cluster",
+ "multi": true,
+ "name": "pgbouncer_cluster",
+ "query": "label_values(pgbouncer_databases_current_connections{job=~\"integrations/pgbouncer\",job=~\"$job\"}, pgbouncer_cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "2",
+ "value": "2"
+ },
+ "description": "This variable allows for modification of top database value.",
+ "label": "Top database count",
+ "name": "top_database_count",
+ "options": [
+ {
+ "selected": true,
+ "text": "2",
+ "value": "2"
+ },
+ {
+ "selected": false,
+ "text": "4",
+ "value": "4"
+ },
+ {
+ "selected": false,
+ "text": "6",
+ "value": "6"
+ },
+ {
+ "selected": false,
+ "text": "8",
+ "value": "8"
+ },
+ {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "2 : 2,4 : 4,6 : 6,8 : 8,10 : 10",
+ "type": "custom"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "PgBouncer cluster overview",
+ "uid": "pgbouncer-cluster-overview"
+}
diff --git a/assets/pgbouncer/dashboards/logs b/assets/pgbouncer/dashboards/logs
new file mode 100644
index 0000000..6ef1138
--- /dev/null
+++ b/assets/pgbouncer/dashboards/logs
@@ -0,0 +1,317 @@
+{
+ "links": [
+ {
+ "keepTime": true,
+ "title": "PgBouncer cluster overview",
+ "type": "link",
+ "url": "/d/pgbouncer-cluster-overview"
+ },
+ {
+ "keepTime": true,
+ "title": "PgBouncer overview",
+ "type": "link",
+ "url": "/d/pgbouncer-overview"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Logs volume grouped by \"level\" label.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "drawStyle": "bars",
+ "fillOpacity": 50,
+ "stacking": {
+ "mode": "normal"
+ }
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)merg|(F|f)atal|(A|a)lert|(C|c)rit.*"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)(rr.*|RR.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(W|w)(arn.*|ARN.*|rn|RN)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(N|n)(otice|ote)|(I|i)(nf.*|NF.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "dbg.*|DBG.*|(D|d)(EBUG|ebug)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(T|t)(race|RACE)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "logs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24
+ },
+ "id": 1,
+ "interval": "30s",
+ "options": {
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "sum by (level) (count_over_time({job=~\"integrations/pgbouncer\",job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",level=~\"$level\"}\n|~ \"$regex_search\"\n\n[$__interval]))\n",
+ "legendFormat": "{{ level }}"
+ }
+ ],
+ "title": "Logs volume",
+ "transformations": [
+ {
+ "id": "renameByRegex",
+ "options": {
+ "regex": "Value",
+ "renamePattern": "logs"
+ }
+ }
+ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "gridPos": {
+ "h": 18,
+ "w": 24
+ },
+ "id": 2,
+ "options": {
+ "dedupStrategy": "exact",
+ "enableLogDetails": true,
+ "prettifyLogMessage": true,
+ "showTime": false,
+ "wrapLogMessage": false
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "{job=~\"integrations/pgbouncer\",job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",level=~\"$level\"} \n|~ \"$regex_search\"\n\n\n"
+ }
+ ],
+ "title": "Logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "pgbouncer"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values({job=~\"integrations/pgbouncer\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Pgbouncer_cluster",
+ "multi": true,
+ "name": "pgbouncer_cluster",
+ "query": "label_values({job=~\"integrations/pgbouncer\",job=~\"$job\"}, pgbouncer_cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values({job=~\"integrations/pgbouncer\",job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Level",
+ "multi": true,
+ "name": "level",
+ "query": "label_values({job=~\"integrations/pgbouncer\",job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\"}, level)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "",
+ "value": ""
+ },
+ "label": "Regex search",
+ "name": "regex_search",
+ "options": [
+ {
+ "selected": true,
+ "text": "",
+ "value": ""
+ }
+ ],
+ "query": "",
+ "type": "textbox"
+ },
+ {
+ "hide": 2,
+ "label": "Prometheus data source",
+ "name": "prometheus_datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "PgBouncer logs",
+ "uid": "pgbouncer-logs"
+}
diff --git a/assets/pgbouncer/dashboards/overview b/assets/pgbouncer/dashboards/overview
new file mode 100644
index 0000000..3701559
--- /dev/null
+++ b/assets/pgbouncer/dashboards/overview
@@ -0,0 +1,913 @@
+{
+ "links": [
+ {
+ "keepTime": true,
+ "title": "PgBouncer logs",
+ "type": "link",
+ "url": "/d/pgbouncer-logs"
+ },
+ {
+ "keepTime": true,
+ "title": "PgBouncer cluster overview",
+ "type": "link",
+ "url": "/d/pgbouncer-cluster-overview"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current number of client connections waiting on a server connection.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "steps": [
+ {
+ "color": "super-light-green",
+ "value": 0
+ },
+ {
+ "color": "super-light-orange",
+ "value": 10
+ },
+ {
+ "color": "super-light-red",
+ "value": 20
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "options": {
+ "graphMode": "none"
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(pgbouncer_pools_client_waiting_connections{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"})"
+ }
+ ],
+ "title": "Client waiting connections",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current number of active client connections.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 4,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(pgbouncer_pools_client_active_connections{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"})"
+ }
+ ],
+ "title": "Active client connections",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current number of client connections that are linked to a server connection and able to process queries.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 8,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(pgbouncer_pools_server_active_connections{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"})"
+ }
+ ],
+ "title": "Active server connections",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Maximum number of allowed connections for database.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 12,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(pgbouncer_databases_max_connections{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"})"
+ }
+ ],
+ "title": "Max database connections",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Maximum number of server connections per user allowed.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 16,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(pgbouncer_config_max_user_connections{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",job=~\"integrations/pgbouncer\"})"
+ }
+ ],
+ "title": "Max user connections",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Maximum number of client connections allowed.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 20,
+ "y": 0
+ },
+ "id": 6,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(pgbouncer_config_max_client_connections{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",job=~\"integrations/pgbouncer\"})"
+ }
+ ],
+ "title": "Max client connections",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 4
+ },
+ "id": 7,
+ "title": "Queries",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of SQL queries pooled by PgBouncer.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "ops"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 5
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(pgbouncer_stats_queries_pooled_total{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"}[$__rate_interval])",
+ "legendFormat": "{{database}}"
+ }
+ ],
+ "title": "Queries processed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average duration of queries being processed by PgBouncer.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "ms"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 5
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "1000 * increase(pgbouncer_stats_queries_duration_seconds_total{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"}[$__interval:]) / clamp_min(increase(pgbouncer_stats_queries_pooled_total{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"}[$__interval:]), 1)",
+ "legendFormat": "{{database}}"
+ }
+ ],
+ "title": "Queries average duration / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 11
+ },
+ "id": 10,
+ "title": "Network",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Volume in bytes of network traffic received by PgBouncer.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "unit": "Bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 12
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(pgbouncer_stats_received_bytes_total{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"}[$__rate_interval])",
+ "legendFormat": "{{database}} - received"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(pgbouncer_stats_sent_bytes_total{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"}[$__rate_interval])",
+ "legendFormat": "{{database}} - sent"
+ }
+ ],
+ "title": "Network traffic",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 18
+ },
+ "id": 12,
+ "title": "Transactions",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of SQL transactions pooled.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "ops"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 19
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(pgbouncer_stats_sql_transactions_pooled_total{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"}[$__rate_interval])",
+ "legendFormat": "{{database}}"
+ }
+ ],
+ "title": "SQL transaction rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average duration of SQL transactions pooled.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "ms"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 19
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "1000 * increase(pgbouncer_stats_server_in_transaction_seconds_total{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"}[$__interval:]) / clamp_min(increase(pgbouncer_stats_sql_transactions_pooled_total{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"}[$__interval:]), 1)",
+ "legendFormat": "{{database}}"
+ }
+ ],
+ "title": "SQL average transaction duration / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 25
+ },
+ "id": 15,
+ "title": "Server",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of various server connection states.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "conn"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 26
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "pgbouncer_pools_server_idle_connections{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"}",
+ "legendFormat": "{{database}} - idle"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "pgbouncer_pools_server_used_connections{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"}",
+ "legendFormat": "{{database}} - used"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "pgbouncer_pools_server_login_connections{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"}",
+ "legendFormat": "{{database}} - login"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "pgbouncer_pools_server_testing_connections{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"}",
+ "legendFormat": "{{database}} - testing"
+ }
+ ],
+ "title": "Server connections",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 32
+ },
+ "id": 17,
+ "title": "Client",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current number of active client connections.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "conn"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 33
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "pgbouncer_pools_client_active_connections{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"}",
+ "legendFormat": "{{database}}"
+ }
+ ],
+ "title": "Active client connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current number of client connections waiting on a server connection.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "clients"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 33
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "pgbouncer_pools_client_waiting_connections{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"}",
+ "legendFormat": "{{database}}"
+ }
+ ],
+ "title": "Waiting clients",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Age of the oldest unserved client connection in seconds.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "s"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 33
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "pgbouncer_pools_client_maxwait_seconds{job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\",instance=~\"$instance\",database=~\"$database\",job=~\"integrations/pgbouncer\"}",
+ "legendFormat": "{{database}}"
+ }
+ ],
+ "title": "Max client wait time",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "pgbouncer"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Prometheus data source",
+ "name": "prometheus_datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(pgbouncer_databases_current_connections{job=~\"integrations/pgbouncer\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": true,
+ "label": "Pgbouncer_cluster",
+ "multi": true,
+ "name": "pgbouncer_cluster",
+ "query": "label_values(pgbouncer_databases_current_connections{job=~\"integrations/pgbouncer\",job=~\"$job\"}, pgbouncer_cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": false,
+ "label": "Instance",
+ "multi": false,
+ "name": "instance",
+ "query": "label_values(pgbouncer_databases_current_connections{job=~\"integrations/pgbouncer\",job=~\"$job\",pgbouncer_cluster=~\"$pgbouncer_cluster\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": true,
+ "label": "Database",
+ "multi": true,
+ "name": "database",
+ "query": "label_values(pgbouncer_databases_current_connections{job=~\"integrations/pgbouncer\"}, database)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "hide": 2,
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "PgBouncer overview",
+ "uid": "pgbouncer-overview"
+}
diff --git a/assets/pgbouncer/rules.yaml b/assets/pgbouncer/rules.yaml
new file mode 100644
index 0000000..0967ef4
--- /dev/null
+++ b/assets/pgbouncer/rules.yaml
@@ -0,0 +1 @@
+{}
diff --git a/assets/presto/alerts.yaml b/assets/presto/alerts.yaml
new file mode 100644
index 0000000..185cdf1
--- /dev/null
+++ b/assets/presto/alerts.yaml
@@ -0,0 +1,84 @@
+groups:
+- name: presto-alerts
+ rules:
+ - alert: PrestoHighInsufficientResources
+ annotations:
+ description: The number of insufficient resource failures on {{$labels.instance}}
+ is {{ printf "%.0f" $value }} which is greater than the threshold of 0.
+ summary: The amount of failures that are occurring due to insufficient resources
+ are scaling, causing saturation in the system.
+ expr: |
+ increase(presto_QueryManager_InsufficientResourcesFailures_TotalCount[5m]) > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: PrestoHighTaskFailuresWarning
+ annotations:
+ description: The number of task failures on {{$labels.instance}} is {{ printf
+ "%.0f" $value }} which is above the threshold of 0.
+ summary: The amount of tasks that are failing is increasing, this might affect
+ query processing and could result in incomplete or incorrect results.
+ expr: |
+ increase(presto_TaskManager_FailedTasks_TotalCount[5m]) > 0
+ for: 5m
+ labels:
+ severity: warning
+ - alert: PrestoHighTaskFailuresCritical
+ annotations:
+ description: The number of task failures on {{$labels.instance}} is {{ printf
+ "%.0f" $value }} which is above the threshold of 30%s.
+ summary: The amount of tasks that are failing has reached a critical level.
+ This might affect query processing and could result in incomplete or incorrect
+ results.
+ expr: |
+ increase(presto_TaskManager_FailedTasks_TotalCount[5m]) / clamp_min(increase(presto_TaskManager_FailedTasks_TotalCount[10m]), 1) * 100 > 30
+ for: 5m
+ labels:
+ severity: critical
+ - alert: PrestoHighQueuedTaskCount
+ annotations:
+ description: The number of queued tasks on {{$labels.instance}} is {{ printf
+ "%.0f" $value }} which is greater than the threshold of 5
+ summary: The amount of tasks that are being put in queue is increasing. A high
+ number of queued tasks can lead to increased query latencies and degraded
+ system performance.
+ expr: |
+ increase(presto_QueryExecution_Executor_QueuedTaskCount[5m]) > 5
+ for: 5m
+ labels:
+ severity: warning
+ - alert: PrestoHighBlockedNodes
+ annotations:
+ description: The number of blocked nodes on {{$labels.instance}} is {{ printf
+ "%.0f" $value }} which is greater than the threshold of 0
+ summary: The amount of nodes that are blocked due to memory restrictions is
+ increasing. Blocked nodes can cause performance degradation and resource starvation.
+ expr: |
+ increase(presto_ClusterMemoryPool_general_BlockedNodes[5m]) > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: PrestoHighFailedQueriesWarning
+ annotations:
+ description: The number of failed queries on {{$labels.instance}} is {{ printf
+ "%.0f" $value }} which is greater than the threshold of 0
+ summary: The amount of queries failing is increasing. Failed queries can prevent
+ users from accessing data, disrupt analytics processes, and might indicate
+ underlying issues with the system or data.
+ expr: |
+ increase(presto_QueryManager_FailedQueries_TotalCount[5m]) > 0
+ for: 5m
+ labels:
+ severity: warning
+ - alert: PrestoHighFailedQueriesCritical
+ annotations:
+ description: The number of failed queries on {{$labels.instance}} is {{ printf
+ "%.0f" $value }} which is greater than the threshold of 30%s.
+ summary: The amount of queries failing has increased to critical levels. Failed
+ queries can prevent users from accessing data, disrupt analytics processes,
+ and might indicate underlying issues with the system or data.
+ expr: |
+ increase(presto_QueryManager_FailedQueries_TotalCount[5m]) / clamp_min(increase(presto_QueryManager_FailedQueries_TotalCount[10m]), 1) * 100 > 30
+ for: 5m
+ labels:
+ severity: critical
diff --git a/assets/presto/dashboards/presto-coordinator.json b/assets/presto/dashboards/presto-coordinator.json
new file mode 100644
index 0000000..51e1c70
--- /dev/null
+++ b/assets/presto/dashboards/presto-coordinator.json
@@ -0,0 +1,1524 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "presto-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Presto dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "An average gauge of the JVM's non-heap memory usage across coordinators.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 0.69999999999999996
+ },
+ {
+ "color": "red",
+ "value": 0.80000000000000004
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 6,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "10.2.0-62263",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg (jvm_nonheap_memory_used{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"} / clamp_min((jvm_nonheap_memory_used{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"} + jvm_nonheap_memory_committed{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}),1))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Non-heap memory usage",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "An average gauge of the JVM's heap memory usage across coordinators.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 0.69999999999999996
+ },
+ {
+ "color": "red",
+ "value": 0.80000000000000004
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 6,
+ "x": 6,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "10.2.0-62263",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg (jvm_heap_memory_used{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"} / clamp_min((jvm_heap_memory_used{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"} + jvm_heap_memory_committed{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}),1))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Heap memory usage",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of internal and user error failures occurring on the instance.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "stepBefore",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_InternalFailures_OneMinute_Count{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - internal"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_UserErrorFailures_OneMinute_Count{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - user"
+ }
+ ],
+ "title": "Error failures - one minute count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "A count of completed, running, and started queries.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "#C8F2C2",
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "left",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "stepBefore",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 9
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_CompletedQueries_OneMinute_Count{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - completed"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_RunningQueries{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - running"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_StartedQueries_OneMinute_Count{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - started"
+ }
+ ],
+ "title": "Normal query - one minute count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "A count of failed, abandoned, and canceled queries.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "#C8F2C2",
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "left",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "stepBefore",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 9
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_FailedQueries_OneMinute_Count{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - failed"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_AbandonedQueries_OneMinute_Count{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - abandoned"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_CanceledQueries_OneMinute_Count{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - canceled"
+ }
+ ],
+ "title": "Abnormal query - one minute count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of normally operating queries such as the completed, running, and started queries.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "#C8F2C2",
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "left",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "stepBefore",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 18
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_CompletedQueries_OneMinute_Rate{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - completed"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_RunningQueries{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - running"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_StartedQueries_OneMinute_Rate{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - started"
+ }
+ ],
+ "title": "Normal query - one minute rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of abnormal queries such as the failed, abandoned, and canceled queries.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "#C8F2C2",
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "left",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "stepBefore",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(presto_QueryManager_FailedQueries_TotalCount{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - failed"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(presto_QueryManager_AbandonedQueries_TotalCount{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - abandoned"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(presto_QueryManager_CanceledQueries_TotalCount{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - canceled"
+ }
+ ],
+ "title": "Abnormal query - one minute rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The time it took to run queries over the past one minute period.\n",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "stepBefore",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_ExecutionTime_OneMinute_P75{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - p75"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_ExecutionTime_OneMinute_P95{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - p95"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_ExecutionTime_OneMinute_P99{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - p99"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_ExecutionTime_OneMinute_P50{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - p50"
+ }
+ ],
+ "title": "Query execution time - one minute count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "CPU time consumed by Presto's QueryManager for executing queries over one-minute intervals, measured in CPU seconds used.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "stepBefore",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 35
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_ConsumedCpuTimeSecs_OneMinute_Count{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} "
+ }
+ ],
+ "title": "CPU time consumed - one minute rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate at which input data is being read and processed by the CPU.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 35
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_CpuInputByteRate_OneMinute_Total{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} "
+ }
+ ],
+ "title": "CPU input throughput - one minute count",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 43
+ },
+ "id": 12,
+ "targets": [ ],
+ "title": "JVM metrics",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The recent increase in the number of garbage collection events for the JVM.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 44
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(jvm_gc_collection_count{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\", name=\"G1 Young Generation\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} "
+ }
+ ],
+ "title": "Garbage collection count / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The average duration for each garbage collection operation in the JVM.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 44
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_gc_duration{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\", name=\"G1 Young Generation\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Garbage collection duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The heap and non-heap memory used by the JVM.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 52
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_nonheap_memory_used{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - non heap"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_heap_memory_used{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - heap"
+ }
+ ],
+ "title": "Memory used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The heap and non-heap memory committed.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 52
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_heap_memory_committed{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - heap"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_nonheap_memory_committed{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - non heap"
+ }
+ ],
+ "title": "Memory committed",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "presto-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(presto_HeartbeatDetector_ActiveCount,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(presto_HeartbeatDetector_ActiveCount{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Presto cluster",
+ "multi": false,
+ "name": "presto_cluster",
+ "options": [ ],
+ "query": "label_values(presto_HeartbeatDetector_ActiveCount{job=~\"$job\"},presto_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(presto_HeartbeatDetector_ActiveCount{job=~\"$job\", presto_cluster=~\"$presto_cluster\"},instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Presto coordinator",
+ "uid": "presto-coordinator",
+ "version": 0
+}
diff --git a/assets/presto/dashboards/presto-logs.json b/assets/presto/dashboards/presto-logs.json
new file mode 100644
index 0000000..8abcdb4
--- /dev/null
+++ b/assets/presto/dashboards/presto-logs.json
@@ -0,0 +1,310 @@
+{
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "presto-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Presto dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Logs volume grouped by \"level\" label.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "drawStyle": "bars",
+ "fillOpacity": 50,
+ "stacking": {
+ "mode": "normal"
+ }
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)merg|(F|f)atal|(A|a)lert|(C|c)rit.*"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)(rr.*|RR.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(W|w)(arn.*|ARN.*|rn|RN)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(N|n)(otice|ote)|(I|i)(nf.*|NF.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "dbg.*|DBG.*|(D|d)(EBUG|ebug)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(T|t)(race|RACE)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "logs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24
+ },
+ "id": 1,
+ "interval": "30s",
+ "options": {
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "sum by (level) (count_over_time({job=~\"integrations/presto\",job=~\"$job\",presto_cluster=~\"$presto_cluster\",instance=~\"$instance\",level=~\"$level\"}\n|~ \"$regex_search\"\n\n[$__interval]))\n",
+ "legendFormat": "{{ level }}"
+ }
+ ],
+ "title": "Logs volume",
+ "transformations": [
+ {
+ "id": "renameByRegex",
+ "options": {
+ "regex": "Value",
+ "renamePattern": "logs"
+ }
+ }
+ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "gridPos": {
+ "h": 18,
+ "w": 24
+ },
+ "id": 2,
+ "options": {
+ "dedupStrategy": "exact",
+ "enableLogDetails": true,
+ "prettifyLogMessage": true,
+ "showTime": false,
+ "wrapLogMessage": true
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "{job=~\"integrations/presto\",job=~\"$job\",presto_cluster=~\"$presto_cluster\",instance=~\"$instance\",level=~\"$level\"} \n|~ \"$regex_search\"\n\n\n"
+ }
+ ],
+ "title": "Logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "presto-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values({job=~\"integrations/presto\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Presto_cluster",
+ "multi": true,
+ "name": "presto_cluster",
+ "query": "label_values({job=~\"integrations/presto\",job=~\"$job\"}, presto_cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values({job=~\"integrations/presto\",job=~\"$job\",presto_cluster=~\"$presto_cluster\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Level",
+ "multi": true,
+ "name": "level",
+ "query": "label_values({job=~\"integrations/presto\",job=~\"$job\",presto_cluster=~\"$presto_cluster\",instance=~\"$instance\"}, level)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "",
+ "value": ""
+ },
+ "label": "Regex search",
+ "name": "regex_search",
+ "options": [
+ {
+ "selected": true,
+ "text": "",
+ "value": ""
+ }
+ ],
+ "query": "",
+ "type": "textbox"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timezone": "utc",
+ "title": "Presto logs overview",
+ "uid": "presto-logs-overview"
+}
diff --git a/assets/presto/dashboards/presto-overview.json b/assets/presto/dashboards/presto-overview.json
new file mode 100644
index 0000000..22f590d
--- /dev/null
+++ b/assets/presto/dashboards/presto-overview.json
@@ -0,0 +1,1194 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "presto-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Presto dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of active resource managers.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "text",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-62263",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum (max by (presto_cluster) (presto_metadata_DiscoveryNodeManager_ActiveResourceManagerCount{job=~\"$job\", presto_cluster=~\"$presto_cluster\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Resource manager"
+ }
+ ],
+ "title": "Active resource managers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of broker instances across clusters.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 6,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-62263",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(max by (presto_cluster) (presto_metadata_DiscoveryNodeManager_ActiveCoordinatorCount{job=~\"$job\", presto_cluster=~\"$presto_cluster\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Coordinator"
+ }
+ ],
+ "title": "Active coordinators",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of active workers.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 12,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-62263",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(max by (presto_cluster) (presto_metadata_DiscoveryNodeManager_ActiveNodeCount{job=~\"$job\", presto_cluster=~\"$presto_cluster\"}) - max by (presto_cluster) (presto_metadata_DiscoveryNodeManager_ActiveCoordinatorCount{job=~\"$job\", presto_cluster=~\"$presto_cluster\"}) - max by (presto_cluster) (presto_metadata_DiscoveryNodeManager_ActiveResourceManagerCount{job=~\"$job\", presto_cluster=~\"$presto_cluster\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Worker"
+ }
+ ],
+ "title": "Active workers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of inactive workers.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 3
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 6,
+ "x": 18,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0-62263",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(max by (presto_cluster) (presto_metadata_DiscoveryNodeManager_InactiveNodeCount{job=~\"$job\", presto_cluster=~\"$presto_cluster\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Worker"
+ }
+ ],
+ "title": "Inactive workers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of completed queries.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "#C8F2C2",
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "stepBefore",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 4
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_CompletedQueries_OneMinute_Count{job=~\"$job\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{presto_cluster}}"
+ }
+ ],
+ "title": "Completed queries - one minute count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Reports firing alerts.",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 4
+ },
+ "id": 7,
+ "options": {
+ "alertInstanceLabelFilter": "{job=~\"${job:regex}\", presto_cluster=~\"${presto_cluster:regex}\"}",
+ "alertName": "",
+ "dashboardAlerts": false,
+ "datasource": "Prometheus",
+ "groupBy": [ ],
+ "groupMode": "default",
+ "maxItems": 20,
+ "sortOrder": 1,
+ "stateFilter": {
+ "error": true,
+ "firing": true,
+ "noData": false,
+ "normal": true,
+ "pending": true
+ },
+ "viewMode": "list"
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Alerts",
+ "type": "alertlist"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of user error failures occurring across the clusters.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "stepBefore",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "err/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_UserErrorFailures_OneMinute_Rate{job=~\"$job\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{presto_cluster}}"
+ }
+ ],
+ "title": "User error failures - one minute rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of queued queries.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_QueuedQueries{job=~\"$job\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{presto_cluster}}"
+ }
+ ],
+ "title": "Queued queries",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of nodes that are blocked due to memory restrictions.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "stepBefore",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_ClusterMemoryPool_general_BlockedNodes{job=~\"$job\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{presto_cluster}}"
+ }
+ ],
+ "title": "Blocked nodes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of internal failures occurring across the clusters.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "stepBefore",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "err/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_InternalFailures_OneMinute_Rate{job=~\"$job\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{presto_cluster}}"
+ }
+ ],
+ "title": "Internal error failures - one minute rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of memory available across the clusters.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 28
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (presto_cluster) (presto_ClusterMemoryPool_general_FreeDistributedBytes{job=~\"$job\", presto_cluster=~\"$presto_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{presto_cluster}} - free"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (presto_cluster) (presto_ClusterMemoryPool_reserved_FreeDistributedBytes{job=~\"$job\", presto_cluster=~\"$presto_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{presto_cluster}} - reserved"
+ }
+ ],
+ "title": "Cluster memory distributed bytes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate that failures are occurring due to insufficient resources.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "stepBefore",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "err/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 28
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_QueryManager_InsufficientResourcesFailures_OneMinute_Rate{job=~\"$job\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{presto_cluster}}"
+ }
+ ],
+ "title": " Insufficient resource failures - one minute rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate at which volumes of data are being processed",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "stepBefore",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 36
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (presto_cluster) (presto_TaskManager_InputDataSize_OneMinute_Rate{job=~\"$job\", presto_cluster=~\"$presto_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{presto_cluster}} - input"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (presto_cluster) (presto_TaskManager_OutputDataSize_OneMinute_Rate{job=~\"$job\", presto_cluster=~\"$presto_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{presto_cluster}} - output"
+ }
+ ],
+ "title": "Data processing throughput - one minute rate",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "presto-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(presto_HeartbeatDetector_ActiveCount,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(presto_HeartbeatDetector_ActiveCount{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Presto cluster",
+ "multi": true,
+ "name": "presto_cluster",
+ "options": [ ],
+ "query": "label_values(presto_HeartbeatDetector_ActiveCount{job=~\"$job\"},presto_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Presto overview",
+ "uid": "presto-overview",
+ "version": 0
+}
diff --git a/assets/presto/dashboards/presto-worker.json b/assets/presto/dashboards/presto-worker.json
new file mode 100644
index 0000000..a4fb540
--- /dev/null
+++ b/assets/presto/dashboards/presto-worker.json
@@ -0,0 +1,1319 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "presto-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other Presto dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "An average gauge of the JVM's non-heap memory usage across coordinators.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 0.69999999999999996
+ },
+ {
+ "color": "red",
+ "value": 0.80000000000000004
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 3,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "10.2.0-62263",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg (jvm_nonheap_memory_used{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"} / clamp_min((jvm_nonheap_memory_used{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"} + jvm_nonheap_memory_committed{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}),1))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Non-heap memory usage",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "An average gauge of the JVM's heap memory usage across workers.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 0.69999999999999996
+ },
+ {
+ "color": "red",
+ "value": 0.80000000000000004
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 3,
+ "x": 3,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "10.2.0-62263",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg (jvm_heap_memory_used{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"} / clamp_min((jvm_heap_memory_used{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"} + jvm_heap_memory_committed{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}),1))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Heap memory usage",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of tasks that are being queued by the task executor.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "#C8F2C2",
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 6,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_TaskExecutor_ProcessorExecutor_QueuedTaskCount{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Queued tasks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate at which tasks have failed and completed",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "A"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.axisPlacement",
+ "value": "left"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "B"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.axisPlacement",
+ "value": "right"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(presto_TaskManager_FailedTasks_TotalCount{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - failed"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(presto_TaskExecutor_ProcessorExecutor_CompletedTaskCount{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - completed"
+ }
+ ],
+ "title": "Failed & Completed Tasks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of rows (or records) produced by an operation.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "stepBefore",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "rowsps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_TaskManager_OutputPositions_OneMinute_Rate{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Output positions - one minute rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The pool size of the task notification executor and process executor.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_TaskManager_TaskNotificationExecutor_PoolSize{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - task notification"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_TaskExecutor_ProcessorExecutor_CorePoolSize{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - process executor core"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_TaskExecutor_ProcessorExecutor_PoolSize{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - process executor"
+ }
+ ],
+ "title": "Executor pool size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The amount of Presto memory available.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (instance, presto_cluster) (presto_MemoryPool_general_FreeBytes{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - free"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (instance, presto_cluster) (presto_MemoryPool_reserved_FreeBytes{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - reserved"
+ }
+ ],
+ "title": "Memory pool",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate at which volumes of data are being processed",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "stepBefore",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_TaskManager_InputDataSize_OneMinute_Rate{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - input"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "presto_TaskManager_OutputDataSize_OneMinute_Rate{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - output"
+ }
+ ],
+ "title": "Data processing throughput - one minute rate",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 10,
+ "targets": [ ],
+ "title": "JVM metrics",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The recent increase in the number of garbage collection events for the JVM.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(jvm_gc_collection_count{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\", name=\"G1 Young Generation\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Garbage collection count / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The average duration for each garbage collection operation in the JVM.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_gc_duration{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\", name=\"G1 Young Generation\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Garbage collection duration",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The heap and non-heap memory used by the JVM.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 33
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_nonheap_memory_used{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - non heap"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_heap_memory_used{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - heap"
+ }
+ ],
+ "title": "Memory used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The heap and non-heap memory committed.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 15,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 33
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_heap_memory_committed{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - heap"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "jvm_nonheap_memory_committed{job=~\"$job\", instance=~\"$instance\", presto_cluster=~\"$presto_cluster\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - non heap"
+ }
+ ],
+ "title": "Memory committed",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "presto-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(presto_metadata_DiscoveryNodeManager_ActiveNodeCount,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(presto_metadata_DiscoveryNodeManager_ActiveNodeCount{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Presto cluster",
+ "multi": false,
+ "name": "presto_cluster",
+ "options": [ ],
+ "query": "label_values(presto_metadata_DiscoveryNodeManager_ActiveNodeCount{job=~\"$job\"},presto_cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(presto_metadata_DiscoveryNodeManager_ActiveNodeCount{job=~\"$job\", presto_cluster=~\"$presto_cluster\"},instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Presto worker",
+ "uid": "presto-worker",
+ "version": 0
+}
diff --git a/assets/presto/rules.yaml b/assets/presto/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/presto/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/python-runtime/alerts.yaml b/assets/python-runtime/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/python-runtime/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/python-runtime/dashboards/python-runtime.json b/assets/python-runtime/dashboards/python-runtime.json
new file mode 100644
index 0000000..06763bb
--- /dev/null
+++ b/assets/python-runtime/dashboards/python-runtime.json
@@ -0,0 +1,785 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Python runtime metrics",
+ "editable": true,
+ "folderName": "Integration - Python",
+ "gnetId": null,
+ "graphTooltip": 0,
+ "iteration": 1612440066906,
+ "links": [ ],
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 31,
+ "panels": [ ],
+ "title": "GC stats",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "The rate of GC collections, by generation",
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "links": [ ]
+ },
+ "overrides": [ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 0,
+ "y": 1
+ },
+ "hiddenSeries": false,
+ "id": 29,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "7.3.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum by (job, generation) (rate(python_gc_collections_total{job=\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{ job }} (generation {{ generation }})",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "GC collections",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:54",
+ "format": "ops",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "$$hashKey": "object:55",
+ "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": "$datasource",
+ "description": "The amount of object collected during GC, by generation",
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "links": [ ]
+ },
+ "overrides": [ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 8,
+ "y": 1
+ },
+ "hiddenSeries": false,
+ "id": 4,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "7.3.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum by (job, generation) (rate(python_gc_objects_collected_total{job=\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{ job }} (generation {{ generation }})",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "GC objects collected",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:54",
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "$$hashKey": "object:55",
+ "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": "$datasource",
+ "description": "The amount of uncollectable GC objects, by generation",
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "links": [ ]
+ },
+ "overrides": [ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 16,
+ "y": 1
+ },
+ "hiddenSeries": false,
+ "id": 28,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "7.3.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum by (job, generation) (rate(python_gc_objects_uncollectable_total{job=\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{ job }} (generation {{ generation }})",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "Uncollectable GC objects",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:54",
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "$$hashKey": "object:55",
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ },
+ {
+ "collapsed": false,
+ "datasource": null,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 10
+ },
+ "id": 33,
+ "panels": [ ],
+ "title": "Process stats",
+ "type": "row"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Total user and system CPU time spent in seconds per second",
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "links": [ ]
+ },
+ "overrides": [ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 0,
+ "y": 11
+ },
+ "hiddenSeries": false,
+ "id": 34,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "7.3.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum by (job) (rate(process_cpu_seconds_total{job=\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{ job }}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "CPU usage",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:54",
+ "format": "percentunit",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "$$hashKey": "object:55",
+ "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": "$datasource",
+ "description": "The size of virtual and resident memory sets",
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "links": [ ]
+ },
+ "overrides": [ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 8,
+ "y": 11
+ },
+ "hiddenSeries": false,
+ "id": 35,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "7.3.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "process_virtual_memory_bytes{job=\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{ job }} (virtual)",
+ "refId": "A"
+ },
+ {
+ "expr": "process_resident_memory_bytes{job=\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{ job }} (resident)",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "Memory set size",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:54",
+ "format": "decbytes",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "$$hashKey": "object:55",
+ "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": "$datasource",
+ "description": "Current and maximum amount of open file descriptors",
+ "fieldConfig": {
+ "defaults": {
+ "custom": { },
+ "links": [ ]
+ },
+ "overrides": [ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 9,
+ "w": 8,
+ "x": 16,
+ "y": 11
+ },
+ "hiddenSeries": false,
+ "id": 36,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "7.3.7",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "process_open_fds{job=\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{ job }} (open)",
+ "refId": "A"
+ },
+ {
+ "expr": "process_max_fds{job=\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "{{ job }} (max)",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeRegions": [ ],
+ "timeShift": null,
+ "title": "File descriptors",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "buckets": null,
+ "mode": "time",
+ "name": null,
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:54",
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": "0",
+ "show": true
+ },
+ {
+ "$$hashKey": "object:55",
+ "format": "short",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false,
+ "alignLevel": null
+ }
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 26,
+ "style": "dark",
+ "tags": [
+ "python-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "grafanacloud-igorsuleymanov-prom",
+ "value": "grafanacloud-igorsuleymanov-prom"
+ },
+ "error": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": null,
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": null,
+ "current": {
+ "selected": false,
+ "text": "default/grafana-agent",
+ "value": "default/grafana-agent"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(python_info, job)",
+ "error": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": "job",
+ "multi": false,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(python_info, job)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(python_info{job=\"$job\"}, instance)",
+ "error": null,
+ "hide": 0,
+ "includeAll": true,
+ "label": "instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(python_info{job=\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Python runtime metrics",
+ "uid": "p6ooGwYMk"
+}
diff --git a/assets/python-runtime/rules.yaml b/assets/python-runtime/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/python-runtime/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/rabbitmq/alerts.yaml b/assets/rabbitmq/alerts.yaml
new file mode 100644
index 0000000..a29e820
--- /dev/null
+++ b/assets/rabbitmq/alerts.yaml
@@ -0,0 +1,49 @@
+groups:
+- name: RabbitMQClusterAlerts
+ rules:
+ - alert: RabbitMQMemoryHigh
+ annotations:
+ description: A node {{ $labels.instance }} is using more than 90% of allocated
+ RAM.
+ summary: RabbitMQ memory usage is high.
+ expr: rabbitmq_process_resident_memory_bytes / rabbitmq_resident_memory_limit_bytes
+ * 100 > 90
+ for: 5m
+ labels:
+ severity: warning
+ - alert: RabbitMQFileDescriptorsUsage
+ annotations:
+ description: A node {{ $labels.instance }} is using more than 90% of file descriptors.
+ summary: RabbitMQ file descriptors usage is high.
+ expr: rabbitmq_process_open_fds / rabbitmq_process_max_fds * 100 > 90
+ for: 5m
+ labels:
+ severity: warning
+ - alert: RabbitMQUnroutableMessages
+ annotations:
+ description: A queue has unroutable messages on {{ $labels.instance }}.
+ summary: A RabbitMQ queue has unroutable messages.
+ expr: increase(rabbitmq_channel_messages_unroutable_returned_total[1m]) > 0 or
+ increase(rabbitmq_channel_messages_unroutable_dropped_total[1m]) > 0
+ for: 5m
+ labels:
+ severity: warning
+ - alert: RabbitMQNodeNotDistributed
+ annotations:
+ description: Distribution link state is not 'up' on {{ $labels.instance }}.
+ summary: RabbitMQ node not distributed, link state is down.
+ expr: erlang_vm_dist_node_state < 3
+ for: 2m
+ labels:
+ severity: critical
+ - alert: RabbitMQNodeDown
+ annotations:
+ description: |-
+ Less than 3 nodes running in RabbitMQ cluster
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: RabbitMQ node is down.
+ expr: sum by (rabbitmq_cluster) (rabbitmq_identity_info) < 3
+ for: 0m
+ labels:
+ severity: critical
diff --git a/assets/rabbitmq/dashboards/erlang-memory-allocators.json b/assets/rabbitmq/dashboards/erlang-memory-allocators.json
new file mode 100644
index 0000000..bd38189
--- /dev/null
+++ b/assets/rabbitmq/dashboards/erlang-memory-allocators.json
@@ -0,0 +1,2693 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Erlang VM memory utilisation from erts_alloc perspective",
+ "editable": false,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 11350,
+ "graphTooltip": 1,
+ "id": 2,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#E02F44",
+ "value": null
+ },
+ {
+ "color": "#3274D9",
+ "value": 25
+ },
+ {
+ "color": "#56A64B",
+ "value": 50
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 50,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "sum (erlang_vm_allocators{usage=\"blocks_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{usage=\"carriers_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) * 100",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Allocated Used",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#56A64B",
+ "value": null
+ },
+ {
+ "color": "#3274D9",
+ "value": 50
+ },
+ {
+ "color": "#E02F44",
+ "value": 75
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 4,
+ "y": 0
+ },
+ "id": 51,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "( sum (erlang_vm_allocators{usage=\"carriers_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) - sum (erlang_vm_allocators{usage=\"blocks_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) ) / sum (erlang_vm_allocators{usage=\"carriers_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) * 100",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Allocated Unused",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Total Size of Allocated Blocks Memory that is actively used by Erlang data. The smallest unit of memory that an allocator can work with is called a `block`. When you call an allocator to allocate a certain amount of memory what you get back is a block. It is also blocks that you give as an argument to the allocator when you want to deallocate memory. The allocator does not allocate blocks from the operating system directly though. Instead the allocator allocates a carrier from the operating system, either through `sys_alloc` or through `mseg_alloc`, which in turn uses `malloc` or `mmap`. If `sys_alloc` is used the carrier is placed on the C-heap and if `mseg_alloc` is used the carrier is placed in a segment. Small blocks are placed in a multiblock carrier. A multiblock carrier can as the name suggests contain many blocks. Larger blocks are placed in a singleblock carrier, which as the name implies on contains one block. What’s considered a small and a large block is determined by the parameter singleblock carrier threshold (`sbct`). * [erts_alloc](http://erlang.org/doc/man/erts_alloc.html) * [The Memory Subsystem](https://github.com/happi/theBeamBook/blob/master/chapters/memory.asciidoc)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(255, 255, 255)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 8,
+ "y": 0
+ },
+ "id": 215,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{usage=\"blocks_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Allocated Used",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Allocated Carriers - Allocated Blocks * [erts_alloc](http://erlang.org/doc/man/erts_alloc.html) * [The Memory Subsystem](https://github.com/happi/theBeamBook/blob/master/chapters/memory.asciidoc)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(255, 255, 255)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 12,
+ "y": 0
+ },
+ "id": 216,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{usage=\"carriers_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) - sum (erlang_vm_allocators{usage=\"blocks_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Allocated Unused",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Total Size of Allocated Carriers Memory that is reserved by the Erlang VM, which fits one of the following descriptions: * actively used memory * memory given by the OS, yet-to-be-used * deallocated memory kept around before it is destroyed * carrier gaps in multi-block carriers (a.k.a. memory fragmentation) The total size of allocated carriers can be either larger or smaller than the Erlang VM system process RSS memory. * [erts_alloc](http://erlang.org/doc/man/erts_alloc.html) * [The Memory Subsystem](https://github.com/happi/theBeamBook/blob/master/chapters/memory.asciidoc)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(255, 255, 255)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 16,
+ "y": 0
+ },
+ "id": 188,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{usage=\"carriers_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Allocated Total",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Erlang VM Resident Set Size (RSS) As reported by the OS",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(255, 255, 255)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 20,
+ "y": 0
+ },
+ "id": 214,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (rabbitmq_process_resident_memory_bytes{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Resident Set Size",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "decimals": 1,
+ "displayName": "",
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Metric"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 3
+ },
+ "id": 59,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "Mean"
+ }
+ ]
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "rabbitmq_process_resident_memory_bytes{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}",
+ "legendFormat": "Resident Set Size",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{usage=\"blocks_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Allocated Used",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{usage=\"carriers_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) - sum (erlang_vm_allocators{usage=\"blocks_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Allocated Unused",
+ "refId": "C"
+ }
+ ],
+ "transformations": [
+ {
+ "id": "reduce",
+ "options": {
+ "includeTimeField": false,
+ "reducers": [
+ "min",
+ "max",
+ "mean",
+ "lastNotNull"
+ ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 1,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Allocated Used"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#37872D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Allocated Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FADE2A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Resident Set Size"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C4162A",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.stacking",
+ "value": {
+ "group": "A",
+ "mode": "none"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 16,
+ "x": 8,
+ "y": 3
+ },
+ "id": 61,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "rabbitmq_process_resident_memory_bytes{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "Resident Set Size",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{usage=\"blocks_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Allocated Used",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{usage=\"carriers_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) - sum (erlang_vm_allocators{usage=\"blocks_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Allocated Unused",
+ "refId": "C"
+ }
+ ],
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 10
+ },
+ "id": 226,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Allocated by Allocator Type",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "decimals": 1,
+ "displayName": "",
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Metric"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Memory Allocator"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 8,
+ "x": 0,
+ "y": 11
+ },
+ "id": 55,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "Mean"
+ }
+ ]
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by(alloc) (erlang_vm_allocators{usage=\"carriers_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "{{alloc}}",
+ "refId": "A"
+ }
+ ],
+ "transformations": [
+ {
+ "id": "reduce",
+ "options": {
+ "includeTimeField": false,
+ "reducers": [
+ "min",
+ "max",
+ "mean",
+ "lastNotNull"
+ ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 1,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 16,
+ "x": 8,
+ "y": 11
+ },
+ "id": 53,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "repeatDirection": "v",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by(alloc) (erlang_vm_allocators{usage=\"carriers_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{alloc}}",
+ "refId": "A"
+ }
+ ],
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 21
+ },
+ "id": 63,
+ "panels": [ ],
+ "repeat": "memory_allocator",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "$memory_allocator",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#E02F44",
+ "value": null
+ },
+ {
+ "color": "#3274D9",
+ "value": 50
+ },
+ {
+ "color": "#56A64B",
+ "value": 75
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 22
+ },
+ "id": 20,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\", kind=\"mbcs\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"carriers_size\", kind=\"mbcs\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) * 100",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Multiblock - Utilization",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(255, 255, 255)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 2,
+ "x": 4,
+ "y": 22
+ },
+ "id": 234,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{kind=\"mbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"carriers_size\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{kind=\"mbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"carriers\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "MB-C",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(255, 255, 255)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 2,
+ "x": 6,
+ "y": 22
+ },
+ "id": 236,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{kind=\"mbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{kind=\"mbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"blocks\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "MB-B",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#E02F44",
+ "value": null
+ },
+ {
+ "color": "#3274D9",
+ "value": 50
+ },
+ {
+ "color": "#56A64B",
+ "value": 75
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 8,
+ "y": 22
+ },
+ "id": 223,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\", kind=\"mbcs_pool\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"carriers_size\", kind=\"mbcs_pool\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) * 100",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Multiblock Pool - Utilization",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(255, 255, 255)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 2,
+ "x": 12,
+ "y": 22
+ },
+ "id": 238,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{kind=\"mbcs_pool\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"carriers_size\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{kind=\"mbcs_pool\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"carriers\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "MBP-C",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(255, 255, 255)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 2,
+ "x": 14,
+ "y": 22
+ },
+ "id": 241,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{kind=\"mbcs_pool\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{kind=\"mbcs_pool\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"blocks\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "MBP-B",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#E02F44",
+ "value": null
+ },
+ {
+ "color": "#3274D9",
+ "value": 50
+ },
+ {
+ "color": "#56A64B",
+ "value": 75
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 16,
+ "y": 22
+ },
+ "id": 231,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\", kind=\"sbcs\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"carriers_size\", job=~\"$job\", kind=\"sbcs\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) * 100",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Singleblock - Utilization",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(255, 255, 255)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 2,
+ "x": 20,
+ "y": 22
+ },
+ "id": 242,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{kind=\"sbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"carriers_size\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{kind=\"sbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"carriers\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "SB-C",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(255, 255, 255)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 2,
+ "x": 22,
+ "y": 22
+ },
+ "id": 243,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{kind=\"sbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{kind=\"sbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"blocks\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "SB-B",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "decimals": 1,
+ "displayName": "",
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Metric"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 25
+ },
+ "id": 227,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": false,
+ "displayName": "Field"
+ }
+ ]
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\", kind=\"mbcs\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Multiblock - Used",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"carriers_size\", kind=\"mbcs\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) - sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\", kind=\"mbcs\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Multiblock - Unused",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\", kind=\"mbcs_pool\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Multiblock Pool - Used",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"carriers_size\", kind=\"mbcs_pool\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) - sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\", kind=\"mbcs_pool\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Multiblock Pool - Unused",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\", kind=\"sbcs\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Singleblock - Used",
+ "refId": "E"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"carriers_size\", kind=\"sbcs\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) - sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\", kind=\"sbcs\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Singleblock - Unused",
+ "refId": "F"
+ }
+ ],
+ "title": "$memory_allocator - Usage",
+ "transformations": [
+ {
+ "id": "reduce",
+ "options": {
+ "includeTimeField": false,
+ "reducers": [
+ "min",
+ "max",
+ "mean",
+ "lastNotNull"
+ ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 1,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Multiblock - Used"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#1F60C4",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Multiblock - Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Multiblock Pool - Used"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8F3BB8",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Multiblock Pool - Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Singleblock - Used"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FA6400",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Singleblock - Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 16,
+ "x": 8,
+ "y": 25
+ },
+ "id": 244,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\", kind=\"mbcs\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Multiblock - Used",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"carriers_size\", kind=\"mbcs\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) - sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\", kind=\"mbcs\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Multiblock - Unused",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\", kind=\"mbcs_pool\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Multiblock Pool - Used",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"carriers_size\", kind=\"mbcs_pool\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) - sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\", kind=\"mbcs_pool\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Multiblock Pool - Unused",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\", kind=\"sbcs\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Singleblock - Used",
+ "refId": "E"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"carriers_size\", kind=\"sbcs\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) - sum (erlang_vm_allocators{alloc=~\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\", kind=\"sbcs\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Singleblock - Unused",
+ "refId": "F"
+ }
+ ],
+ "title": "$memory_allocator - Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "decimals": 1,
+ "displayName": "",
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Metric"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 32
+ },
+ "id": 232,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": false,
+ "displayName": "Field"
+ }
+ ]
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{kind=\"mbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"carriers_size\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{kind=\"mbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"carriers\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Multiblock - Carrier",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{kind=\"mbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{kind=\"mbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"blocks\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Multiblock - Block",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{kind=\"mbcs_pool\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"carriers_size\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{kind=\"mbcs_pool\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"carriers\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Multiblock Pool - Carrier",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{kind=\"mbcs_pool\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{kind=\"mbcs_pool\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"blocks\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Multiblock Pool - Block",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{kind=\"sbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"carriers_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{kind=\"sbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"carriers\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Singleblock - Carrier",
+ "refId": "E"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{kind=\"sbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{kind=\"sbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"blocks\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Singleblock - Block",
+ "refId": "F"
+ }
+ ],
+ "title": "$memory_allocator - Average Size",
+ "transformations": [
+ {
+ "id": "reduce",
+ "options": {
+ "includeTimeField": false,
+ "reducers": [
+ "min",
+ "max",
+ "mean",
+ "lastNotNull"
+ ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 1,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Multiblock - Block"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#1F60C4",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Multiblock - Carrier"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Multiblock Pool - Block"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8F3BB8",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Multiblock Pool - Carrier"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Singleblock - Block"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FA6400",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Singleblock - Carrier"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 16,
+ "x": 8,
+ "y": 32
+ },
+ "id": 235,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{kind=\"mbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{kind=\"mbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"blocks\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Multiblock - Block",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{kind=\"mbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"carriers_size\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{kind=\"mbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"carriers\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Multiblock - Carrier",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{kind=\"mbcs_pool\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{kind=\"mbcs_pool\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"blocks\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Multiblock Pool - Block",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{kind=\"mbcs_pool\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"carriers_size\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{kind=\"mbcs_pool\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"carriers\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Multiblock Pool - Carrier",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{kind=\"sbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"blocks_size\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{kind=\"sbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"blocks\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Singleblock - Block",
+ "refId": "E"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum (erlang_vm_allocators{kind=\"sbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"carriers_size\", job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"}) / sum (erlang_vm_allocators{kind=\"sbcs\", alloc=\"$memory_allocator\", job=~\"$job\", usage=\"carriers\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\", job=~\"$job\"})",
+ "legendFormat": "Singleblock - Carrier",
+ "refId": "F"
+ }
+ ],
+ "title": "$memory_allocator - Average Size",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 27,
+ "style": "dark",
+ "tags": [
+ "rabbitmq-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "datasource": "${datasource}",
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "definition": "label_values(rabbitmq_identity_info, job)",
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(rabbitmq_identity_info, job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "definition": "label_values(rabbitmq_identity_info{job=~\"$job\"}, rabbitmq_cluster)",
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": true,
+ "label": "RabbitMQ Cluster",
+ "multi": true,
+ "name": "rabbitmq_cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(rabbitmq_identity_info{job=~\"$job\"}, rabbitmq_cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "definition": "label_values(rabbitmq_identity_info{job=~\"$job\",rabbitmq_cluster=~\"$rabbitmq_cluster\"}, rabbitmq_node)",
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": true,
+ "label": "RabbitMQ Node",
+ "multi": true,
+ "name": "rabbitmq_node",
+ "options": [ ],
+ "query": {
+ "query": "label_values(rabbitmq_identity_info{job=~\"$job\",rabbitmq_cluster=~\"$rabbitmq_cluster\"}, rabbitmq_node)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "definition": "label_values(erlang_vm_allocators{job=~\"$job\"}, alloc)",
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": true,
+ "label": "Erlang Memory Allocator",
+ "multi": true,
+ "name": "memory_allocator",
+ "options": [ ],
+ "query": {
+ "query": "label_values(erlang_vm_allocators{job=~\"$job\"}, alloc)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "15s",
+ "30s",
+ "1m",
+ "5m",
+ "10m"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Erlang-Memory-Allocators",
+ "uid": "eFbBOMCGk",
+ "version": 2,
+ "weekStart": ""
+}
diff --git a/assets/rabbitmq/dashboards/rabbitmq-overview.json b/assets/rabbitmq/dashboards/rabbitmq-overview.json
new file mode 100644
index 0000000..ad918eb
--- /dev/null
+++ b/assets/rabbitmq/dashboards/rabbitmq-overview.json
@@ -0,0 +1,8557 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "A new RabbitMQ Management Overview",
+ "editable": false,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 10991,
+ "graphTooltip": 1,
+ "id": 3,
+ "links": [
+ {
+ "icon": "doc",
+ "tags": [ ],
+ "targetBlank": true,
+ "title": "Monitoring with Prometheus & Grafana",
+ "tooltip": "",
+ "type": "link",
+ "url": "https://www.rabbitmq.com/prometheus.html"
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "#1F60C4",
+ "value": 10000
+ },
+ {
+ "color": "#C4162A",
+ "value": 100000
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "id": 64,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "sum(rabbitmq_queue_messages_ready{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"})",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Ready messages",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#C4162A",
+ "value": null
+ },
+ {
+ "color": "#1F60C4",
+ "value": -1
+ },
+ {
+ "color": "#37872D",
+ "value": 50
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 6,
+ "y": 0
+ },
+ "id": 62,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_channel_messages_published_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"})",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Incoming messages / s",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#C4162A",
+ "value": null
+ },
+ {
+ "color": "#1F60C4",
+ "value": 0
+ },
+ {
+ "color": "#37872D",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 12,
+ "y": 0
+ },
+ "id": 66,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rabbitmq_channels{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) - sum(rabbitmq_channel_consumers{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Publishers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#C4162A",
+ "value": null
+ },
+ {
+ "color": "#1F60C4",
+ "value": 0
+ },
+ {
+ "color": "#37872D",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 16,
+ "y": 0
+ },
+ "id": 37,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rabbitmq_connections{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"})",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Connections",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#C4162A",
+ "value": null
+ },
+ {
+ "color": "#1F60C4",
+ "value": 0
+ },
+ {
+ "color": "#37872D",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 20,
+ "y": 0
+ },
+ "id": 40,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rabbitmq_queues{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Queues",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "#1F60C4",
+ "value": 100
+ },
+ {
+ "color": "#C4162A",
+ "value": 500
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 0,
+ "y": 3
+ },
+ "id": 65,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rabbitmq_queue_messages_unacked{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"})",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Unacknowledged messages",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#C4162A",
+ "value": null
+ },
+ {
+ "color": "#1F60C4",
+ "value": -1
+ },
+ {
+ "color": "#37872D",
+ "value": 50
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 6,
+ "y": 3
+ },
+ "id": 63,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_channel_messages_redelivered_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) + sum(rate(rabbitmq_channel_messages_delivered_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) + sum(rate(rabbitmq_channel_messages_delivered_ack_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) + sum(rate(rabbitmq_channel_get_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) + sum(rate(rabbitmq_channel_get_ack_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"})",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Outgoing messages / s",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#C4162A",
+ "value": null
+ },
+ {
+ "color": "#1F60C4",
+ "value": 0
+ },
+ {
+ "color": "#37872D",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 12,
+ "y": 3
+ },
+ "id": 41,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rabbitmq_channel_consumers{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Consumers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#C4162A",
+ "value": null
+ },
+ {
+ "color": "#1F60C4",
+ "value": 0
+ },
+ {
+ "color": "#37872D",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 16,
+ "y": 3
+ },
+ "id": 38,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rabbitmq_channels{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Channels",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#1F60C4",
+ "value": null
+ },
+ {
+ "color": "#37872D",
+ "value": 3
+ },
+ {
+ "color": "#C4162A",
+ "value": 8
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 20,
+ "y": 3
+ },
+ "id": 67,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rabbitmq_build_info{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Nodes",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 6
+ },
+ "id": 4,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "NODES",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "erlang_version"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Erlang/OTP"
+ },
+ {
+ "id": "unit",
+ "value": "none"
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "rabbitmq_version"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "RabbitMQ"
+ },
+ {
+ "id": "unit",
+ "value": "none"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Host"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "rabbitmq_node"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Node name"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "rabbitmq_cluster"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Cluster"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "prometheus_client_version"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "prometheus.erl"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "prometheus_plugin_version"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "rabbitmq_prometheus"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 69,
+ "links": [ ],
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "rabbitmq_build_info{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Value": true,
+ "endpoint": true,
+ "instance": false,
+ "namespace": true,
+ "pod": true,
+ "prometheus_client_version": true,
+ "service": true
+ },
+ "indexByName": { },
+ "renameByName": {
+ "endpoint": "",
+ "erlang_version": "Erlang Version",
+ "instance": "Host",
+ "job": "Job Name",
+ "pod": "",
+ "prometheus_client_version": "",
+ "prometheus_plugin_version": "Plugin Version",
+ "rabbitmq_cluster": "Cluster Name",
+ "rabbitmq_node": "Node Name",
+ "rabbitmq_version": "RabbitMQ Version"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "If the value is zero or less, the memory alarm will be triggered and all publishing connections across all cluster nodes will be blocked. This value can temporarily go negative because the memory alarm is triggered with a slight delay. The kernel's view of the amount of memory used by the node can differ from what the node itself can observe. This means that this value can be negative for a sustained period of time. By default nodes use resident set size (RSS) to compute how much memory they use. This strategy can be changed (see the guides below). * [Alarms](https://www.rabbitmq.com/alarms.html) * [Memory Alarms](https://www.rabbitmq.com/memory.html) * [Reasoning About Memory Use](https://www.rabbitmq.com/memory-use.html) * [Blocked Connection Notifications](https://www.rabbitmq.com/connection-blocked.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "decimals": 1,
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 0
+ },
+ {
+ "color": "transparent",
+ "value": 536870912
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 11
+ },
+ "id": 7,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "asc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "(rabbitmq_resident_memory_limit_bytes{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) - (rabbitmq_process_resident_memory_bytes{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Memory available before publishers blocked",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "This metric is reported for the partition where the RabbitMQ data directory is stored. If the value is zero or less, the disk alarm will be triggered and all publishing connections across all cluster nodes will be blocked. This value can temporarily go negative because the free disk space alarm is triggered with a slight delay. * [Alarms](https://www.rabbitmq.com/alarms.html) * [Disk Space Alarms](https://www.rabbitmq.com/disk-alarms.html) * [Disk Space](https://www.rabbitmq.com/production-checklist.html#resource-limits-disk-space) * [Persistence Configuration](https://www.rabbitmq.com/persistence-conf.html) * [Blocked Connection Notifications](https://www.rabbitmq.com/connection-blocked.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "decimals": 1,
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 1073741824
+ },
+ {
+ "color": "transparent",
+ "value": 5368709120
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 12,
+ "y": 11
+ },
+ "id": 8,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "asc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "rabbitmq_disk_space_available_bytes{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Disk space available before publishers blocked",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "When this value reaches zero, new connections will not be accepted and disk write operations may fail. Client libraries, peer nodes and CLI tools will not be able to connect when the node runs out of available file descriptors. * [Open File Handles Limit](https://www.rabbitmq.com/production-checklist.html#resource-limits-file-handle-limit)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "decimals": -1,
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 500
+ },
+ {
+ "color": "transparent",
+ "value": 1000
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 20,
+ "y": 11
+ },
+ "id": 2,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "asc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "(rabbitmq_process_max_fds{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) - (rabbitmq_process_open_fds{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "File descriptors available",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "When this value reaches zero, new connections will not be accepted. Client libraries, peer nodes and CLI tools will not be able to connect when the node runs out of available file descriptors. * [Networking and RabbitMQ](https://www.rabbitmq.com/networking.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "decimals": -1,
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 500
+ },
+ {
+ "color": "transparent",
+ "value": 1000
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 20,
+ "y": 15
+ },
+ "id": 5,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "asc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "(rabbitmq_process_max_tcp_sockets{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) - (rabbitmq_process_open_tcp_sockets{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "TCP sockets available",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 19
+ },
+ "id": 27,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "QUEUED MESSAGES",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Total number of ready messages ready to be delivered to consumers. Aim to keep this value as low as possible. RabbitMQ behaves best when messages are flowing through it. It's OK for publishers to occasionally outpace consumers, but the expectation is that consumers will eventually process all ready messages. If this metric keeps increasing, your system will eventually run out of memory and/or disk space. Consider using TTL or Queue Length Limit to prevent unbounded message growth. * [Queues](https://www.rabbitmq.com/queues.html) * [Consumers](https://www.rabbitmq.com/consumers.html) * [Queue Length Limit](https://www.rabbitmq.com/maxlength.html) * [Time-To-Live and Expiration](https://www.rabbitmq.com/ttl.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "id": 9,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rabbitmq_queue_messages_ready{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Messages ready to be delivered to consumers",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The total number of messages that are either in-flight to consumers, currently being processed by consumers or simply waiting for the consumer acknowledgements to be processed by the queue. Until the queue processes the message acknowledgement, the message will remain unacknowledged. * [Queues](https://www.rabbitmq.com/queues.html) * [Confirms and Acknowledgements](https://www.rabbitmq.com/confirms.html) * [Consumer Prefetch](https://www.rabbitmq.com/consumer-prefetch.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "id": 19,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rabbitmq_queue_messages_unacked{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Messages pending consumer acknowledgement",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 25
+ },
+ "id": 11,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "INCOMING MESSAGES",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The incoming message rate before any routing rules are applied. If this value is lower than the number of messages published to queues, it may indicate that some messages are delivered to more than one queue. If this value is higher than the number of messages published to queues, messages cannot be routed and will either be dropped or returned to publishers. * [Publishers](https://www.rabbitmq.com/publishers.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 26
+ },
+ "id": 13,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_channel_messages_published_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Messages published / s",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of messages confirmed by the broker to publishers. Publishers must opt-in to receive message confirmations. If this metric is consistently at zero it may suggest that publisher confirms are not used by clients. The safety of published messages is likely to be at risk. * [Publisher Confirms](https://www.rabbitmq.com/confirms.html#publisher-confirms) * [Publisher Confirms and Data Safety](https://www.rabbitmq.com/publishers.html#data-safety) * [When Will Published Messages Be Confirmed by the Broker?](https://www.rabbitmq.com/confirms.html#when-publishes-are-confirmed)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 26
+ },
+ "id": 18,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_channel_messages_confirmed_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Messages confirmed to publishers / s",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of messages received from publishers and successfully routed to the master queue replicas. * [Queues](https://www.rabbitmq.com/queues.html) * [Publishers](https://www.rabbitmq.com/publishers.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 31
+ },
+ "id": 61,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_queue_messages_published_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Messages routed to queues / s",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of messages received from publishers that have publisher confirms enabled and the broker has not confirmed yet. * [Publishers](https://www.rabbitmq.com/publishers.html) * [Confirms and Acknowledgements](https://www.rabbitmq.com/confirms.html) * [When Will Published Messages Be Confirmed by the Broker?](https://www.rabbitmq.com/confirms.html#when-publishes-are-confirmed)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 31
+ },
+ "id": 12,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_channel_messages_unconfirmed{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Messages unconfirmed to publishers / s",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of messages that cannot be routed and are dropped. Any value above zero means message loss and likely suggests a routing problem on the publisher end. * [Unroutable Message Handling](https://www.rabbitmq.com/publishers.html#unroutable)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/rabbit/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C4162A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 36
+ },
+ "id": 34,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_channel_messages_unroutable_dropped_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Unroutable messages dropped / s",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of messages that cannot be routed and are returned back to publishers. Sustained values above zero may indicate a routing problem on the publisher end. * [Unroutable Message Handling](https://www.rabbitmq.com/publishers.html#unroutable) * [When Will Published Messages Be Confirmed by the Broker?](https://www.rabbitmq.com/confirms.html#when-publishes-are-confirmed)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/rabbit/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C4162A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 36
+ },
+ "id": 16,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_channel_messages_unroutable_returned_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Unroutable messages returned to publishers / s",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 41
+ },
+ "id": 29,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "OUTGOING MESSAGES",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of messages delivered to consumers. It includes messages that have been redelivered. This metric does not include messages that have been fetched by consumers using `basic.get` (consumed by polling). * [Consumers](https://www.rabbitmq.com/consumers.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 42
+ },
+ "id": 14,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum( (rate(rabbitmq_channel_messages_delivered_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) + (rate(rabbitmq_channel_messages_delivered_ack_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) ) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Messages delivered / s",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of messages that have been redelivered to consumers. It includes messages that have been requeued automatically and redelivered due to channel exceptions or connection closures. Having some redeliveries is expected, but if this metric is consistently non-zero, it is worth investigating why. * [Negative Acknowledgement and Requeuing of Deliveries](https://www.rabbitmq.com/confirms.html#consumer-nacks-requeue) * [Consumers](https://www.rabbitmq.com/consumers.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 20
+ },
+ {
+ "color": "red",
+ "value": 100
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 42
+ },
+ "id": 15,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_channel_messages_redelivered_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Messages redelivered / s",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of message deliveries to consumers that use manual acknowledgement mode. When this mode is used, RabbitMQ waits for consumers to acknowledge messages before more messages can be delivered. This is the safest way of consuming messages. * [Consumer Acknowledgements](https://www.rabbitmq.com/confirms.html) * [Consumer Prefetch](https://www.rabbitmq.com/consumer-prefetch.html) * [Consumer Acknowledgement Modes, Prefetch and Throughput](https://www.rabbitmq.com/confirms.html#channel-qos-prefetch-throughput) * [Consumers](https://www.rabbitmq.com/consumers.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 47
+ },
+ "id": 20,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_channel_messages_delivered_ack_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Messages delivered with manual ack / s",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of message deliveries to consumers that use automatic acknowledgement mode. When this mode is used, RabbitMQ does not wait for consumers to acknowledge message deliveries. This mode is fire-and-forget and does not offer any delivery safety guarantees. It tends to provide higher throughput and it may lead to consumer overload and higher consumer memory usage. * [Consumer Acknowledgement Modes, Prefetch and Throughput](https://www.rabbitmq.com/confirms.html#channel-qos-prefetch-throughput) * [Consumers](https://www.rabbitmq.com/consumers.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 47
+ },
+ "id": 21,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_channel_messages_delivered_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Messages delivered auto ack / s",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of message acknowledgements coming from consumers that use manual acknowledgement mode. * [Consumer Acknowledgements](https://www.rabbitmq.com/confirms.html) * [Consumer Prefetch](https://www.rabbitmq.com/consumer-prefetch.html) * [Consumer Acknowledgement Modes, Prefetch and Throughput](https://www.rabbitmq.com/confirms.html#channel-qos-prefetch-throughput) * [Consumers](https://www.rabbitmq.com/consumers.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 52
+ },
+ "id": 22,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_channel_messages_acked_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Messages acknowledged / s",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of messages delivered to polling consumers that use automatic acknowledgement mode. The use of polling consumers is highly inefficient and therefore strongly discouraged. * [Fetching individual messages](https://www.rabbitmq.com/consumers.html#fetching) * [Consumers](https://www.rabbitmq.com/consumers.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/rabbit/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C4162A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 52
+ },
+ "id": 24,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_channel_get_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Polling operations with auto ack / s",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of polling consumer operations that yield no result. Any value above zero means that RabbitMQ resources are wasted by polling consumers. Compare this metric to the other polling consumer metrics to see the inefficiency rate. The use of polling consumers is highly inefficient and therefore strongly discouraged. * [Fetching individual messages](https://www.rabbitmq.com/consumers.html#fetching) * [Consumers](https://www.rabbitmq.com/consumers.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/rabbit/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C4162A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 57
+ },
+ "id": 25,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_channel_get_empty_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Polling operations that yield no result / s",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of messages delivered to polling consumers that use manual acknowledgement mode. The use of polling consumers is highly inefficient and therefore strongly discouraged. * [Fetching individual messages](https://www.rabbitmq.com/consumers.html#fetching) * [Consumers](https://www.rabbitmq.com/consumers.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/rabbit/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C4162A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 12,
+ "y": 57
+ },
+ "id": 23,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_channel_get_ack_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Polling operations with manual ack / s",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 62
+ },
+ "id": 53,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "QUEUES",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Total number of queue masters per node. This metric makes it easy to see sub-optimal queue distribution in a cluster. * [Queue Masters, Data Locality](https://www.rabbitmq.com/ha.html#master-migration-data-locality) * [Queues](https://www.rabbitmq.com/queues.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": -1,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 63
+ },
+ "id": 57,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "rabbitmq_queues{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Total queues",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of queue declarations performed by clients. Low sustained values above zero are to be expected. High rates may be indicative of queue churn or high rates of connection recovery. Confirm connection recovery rates by using the _Connections opened_ metric. * [Queues](https://www.rabbitmq.com/queues.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 2
+ },
+ {
+ "color": "red",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 12,
+ "y": 63
+ },
+ "id": 58,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_queues_declared_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Queues declared / s",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of new queues created (as opposed to redeclarations). Low sustained values above zero are to be expected. High rates may be indicative of queue churn or high rates of connection recovery. Confirm connection recovery rates by using the _Connections opened_ metric. * [Queues](https://www.rabbitmq.com/queues.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 2
+ },
+ {
+ "color": "red",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 16,
+ "y": 63
+ },
+ "id": 60,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_queues_created_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Queues created / s",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of queues deleted. Low sustained values above zero are to be expected. High rates may be indicative of queue churn or high rates of connection recovery. Confirm connection recovery rates by using the _Connections opened_ metric. * [Queues](https://www.rabbitmq.com/queues.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 2
+ },
+ {
+ "color": "red",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 20,
+ "y": 63
+ },
+ "id": 59,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_queues_deleted_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Queues deleted / s",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 68
+ },
+ "id": 51,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "CHANNELS",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Total number of channels on all currently opened connections. If this metric grows monotonically it is highly likely a channel leak in one of the applications. Confirm channel leaks by using the _Channels opened_ and _Channels closed_ metrics. * [Channel Leak](https://www.rabbitmq.com/channels.html#channel-leaks) * [Channels](https://www.rabbitmq.com/channels.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": -1,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 69
+ },
+ "id": 54,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "rabbitmq_channels{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Total channels",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of new channels opened by applications across all connections. Channels are expected to be long-lived. Low sustained values above zero are to be expected. High rates may be indicative of channel churn or mass connection recovery. Confirm connection recovery rates by using the _Connections opened_ metric. * [High Channel Churn](https://www.rabbitmq.com/channels.html#high-channel-churn) * [Channels](https://www.rabbitmq.com/channels.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 2
+ },
+ {
+ "color": "red",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 6,
+ "x": 12,
+ "y": 69
+ },
+ "id": 55,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_channels_opened_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Channels opened / s",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of channels closed by applications across all connections. Channels are expected to be long-lived. Low sustained values above zero are to be expected. High rates may be indicative of channel churn or mass connection recovery. Confirm connection recovery rates by using the _Connections opened_ metric. * [High Channel Churn](https://www.rabbitmq.com/channels.html#high-channel-churn) * [Channels](https://www.rabbitmq.com/channels.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 2
+ },
+ {
+ "color": "red",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 6,
+ "x": 18,
+ "y": 69
+ },
+ "id": 56,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_channels_closed_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Channels closed / s",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 74
+ },
+ "id": 46,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "CONNECTIONS",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Total number of client connections. If this metric grows monotonically it is highly likely a connection leak in one of the applications. Confirm connection leaks by using the _Connections opened_ and _Connections closed_ metrics. * [Connection Leak](https://www.rabbitmq.com/connections.html#monitoring) * [Connections](https://www.rabbitmq.com/connections.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": -1,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 12,
+ "x": 0,
+ "y": 75
+ },
+ "id": 47,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "rabbitmq_connections{job=~\"$job\"} * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Total connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of new connections opened by clients. Connections are expected to be long-lived. Low sustained values above zero are to be expected. High rates may be indicative of connection churn or mass connection recovery. * [Connection Leak](https://www.rabbitmq.com/connections.html#monitoring) * [Connections](https://www.rabbitmq.com/connections.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 2
+ },
+ {
+ "color": "red",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 6,
+ "x": 12,
+ "y": 75
+ },
+ "id": 48,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_connections_opened_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Connections opened / s",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "The rate of connections closed. Connections are expected to be long-lived. Low sustained values above zero are to be expected. High rates may be indicative of connection churn or mass connection recovery. * [Connections](https://www.rabbitmq.com/connections.html)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 2
+ },
+ {
+ "color": "red",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?0(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#56A64B",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?1(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2CC0C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?2(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#3274D9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?3(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#A352CC",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?4(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF780A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?5(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#96D98D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?6(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFEE52",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?7(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#8AB8FF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?8(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CA95E5",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^rabbit@[a-zA-Z\\.\\-]*?9(\\b|\\.)/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFB357",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 6,
+ "x": 18,
+ "y": 75
+ },
+ "id": 49,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.2.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(rabbitmq_connections_closed_total{job=~\"$job\"}[$__rate_interval]) * on(instance) group_left(rabbitmq_cluster, rabbitmq_node) rabbitmq_identity_info{rabbitmq_cluster=~\"$rabbitmq_cluster\", rabbitmq_node=~\"$rabbitmq_node\",job=~\"$job\"}) by(rabbitmq_node)",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{rabbitmq_node}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Connections closed / s",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": [
+ "rabbitmq-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "definition": "label_values(rabbitmq_identity_info, job)",
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(rabbitmq_identity_info, job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "definition": "label_values(rabbitmq_identity_info{job=~\"$job\"}, rabbitmq_cluster)",
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": true,
+ "label": "RabbitMQ Cluster",
+ "multi": true,
+ "name": "rabbitmq_cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(rabbitmq_identity_info{job=~\"$job\"}, rabbitmq_cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "definition": "label_values(rabbitmq_identity_info{job=~\"$job\",rabbitmq_cluster=~\"$rabbitmq_cluster\"}, rabbitmq_node)",
+ "description": null,
+ "error": null,
+ "hide": 0,
+ "includeAll": true,
+ "label": "RabbitMQ Node",
+ "multi": true,
+ "name": "rabbitmq_node",
+ "options": [ ],
+ "query": {
+ "query": "label_values(rabbitmq_identity_info{job=~\"$job\",rabbitmq_cluster=~\"$rabbitmq_cluster\"}, rabbitmq_node)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "15s",
+ "30s",
+ "1m",
+ "5m",
+ "10m"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "RabbitMQ-Overview",
+ "uid": "CHBbyrrGz",
+ "version": 2,
+ "weekStart": ""
+}
diff --git a/assets/rabbitmq/rules.yaml b/assets/rabbitmq/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/rabbitmq/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/rclone/alerts.yaml b/assets/rclone/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/rclone/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/rclone/dashboards/rclone.json b/assets/rclone/dashboards/rclone.json
new file mode 100644
index 0000000..0d35ce9
--- /dev/null
+++ b/assets/rclone/dashboards/rclone.json
@@ -0,0 +1,723 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [ ],
+ "refresh": "",
+ "rows": [
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "aliasColors": { },
+ "datasource": "$datasource",
+ "description": "",
+ "gridPos": { },
+ "id": 2,
+ "legend": {
+ "percentage": true,
+ "show": true,
+ "values": true
+ },
+ "legendType": "Right side",
+ "options": {
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "values": [
+ "value",
+ "percent"
+ ]
+ },
+ "pieType": "donut",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pieType": "pie",
+ "span": 5,
+ "targets": [
+ {
+ "expr": "sum(increase(rclone_checked_files_total{job=~\"$job\", instance=~\"$instance\"}[$__range]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Files Checked",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(increase(rclone_files_transferred_total{job=~\"$job\", instance=~\"$instance\"}[$__range]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Files Transferred",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(increase(rclone_files_renamed_total{job=~\"$job\", instance=~\"$instance\"}[$__range]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Files Renamed",
+ "refId": "C"
+ },
+ {
+ "expr": "sum(increase(rclone_files_deleted_total{job=~\"$job\", instance=~\"$instance\"}[$__range]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Files Deleted",
+ "refId": "D"
+ },
+ {
+ "expr": "sum(increase(rclone_dirs_deleted_total{job=~\"$job\", instance=~\"$instance\"}[$__range]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Directories Deleted",
+ "refId": "E"
+ },
+ {
+ "expr": "sum(increase(rclone_errors_total{job=~\"$job\", instance=~\"$instance\"}[$__range]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Transfer Errors",
+ "refId": "F"
+ }
+ ],
+ "title": "Status",
+ "type": "piechart",
+ "valueName": "current"
+ },
+ {
+ "cacheTimeout": null,
+ "colorBackground": false,
+ "colorValue": false,
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "datasource": "$datasource",
+ "description": "Thresholds are; 0-80MB/s (Internet speed), 80-200MB/s (Harddisk speed), 200MB/s+ (Solid State disk speed)",
+ "format": "Bps",
+ "gauge": {
+ "maxValue": 500000000,
+ "minValue": 0,
+ "show": true,
+ "thresholdLabels": false,
+ "thresholdMarkers": true
+ },
+ "gridPos": { },
+ "id": 3,
+ "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"
+ }
+ ],
+ "span": 2,
+ "sparkline": {
+ "fillColor": "rgba(31, 118, 189, 0.18)",
+ "full": false,
+ "lineColor": "rgb(31, 120, 193)",
+ "show": false
+ },
+ "tableColumn": "",
+ "targets": [
+ {
+ "expr": "sum(irate(rclone_bytes_transferred_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "thresholds": "80000000,200000000",
+ "title": "Transfer Rate",
+ "type": "singlestat",
+ "valueFontSize": "80%",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ],
+ "valueName": "avg"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": 0
+ }
+ ]
+ },
+ "unit": "bytes"
+ }
+ },
+ "gridPos": { },
+ "id": 4,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "7",
+ "span": 5,
+ "targets": [
+ {
+ "expr": "sum(increase(rclone_bytes_transferred_total{job=~\"$job\", instance=~\"$instance\"}[$__range]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Range",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(increase(rclone_bytes_transferred_total{job=~\"$job\", instance=~\"$instance\"}[24h]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "24h",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(rclone_bytes_transferred_total{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Total",
+ "refId": "C"
+ }
+ ],
+ "title": "Data Transferred",
+ "transparent": false,
+ "type": "stat"
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Overview",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fill": 5,
+ "fillGradient": 10,
+ "gridPos": { },
+ "id": 5,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "line": 1,
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(irate(rclone_bytes_transferred_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])) by (instance)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Traffic Rate",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "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": "bps",
+ "label": null,
+ "logBase": 1,
+ "max": null,
+ "min": null,
+ "show": true
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 6,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum(irate(rclone_checked_files_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Files Checked",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(irate(rclone_files_transferred_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Files Transferred",
+ "refId": "B"
+ },
+ {
+ "expr": "sum(irate(rclone_files_renamed_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Files Renamed",
+ "refId": "C"
+ },
+ {
+ "expr": "sum(irate(rclone_files_deleted_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Files Deleted",
+ "refId": "D"
+ },
+ {
+ "expr": "sum(irate(rclone_dirs_deleted_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Directories Deleted",
+ "refId": "E"
+ },
+ {
+ "expr": "sum(irate(rclone_errors_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Transfer Errors",
+ "refId": "F"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "State Rates",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "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
+ }
+ ]
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Realtime",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-GrYlRd"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "string"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "^.+[0-9]+|Value\\s#[B-Z]|delta"
+ },
+ "properties": [
+ {
+ "id": "custom.hidden",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "links",
+ "value": [
+ {
+ "title": "View",
+ "url": "d/Mkm2KHPzS/rclone?var-instance=${__data.fields.instance}&from=${__data.fields[\"Value #A\"]}&to=${__data.fields[\"Value #B\"]}"
+ }
+ ]
+ },
+ {
+ "id": "displayName",
+ "value": "Instance"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Start Time"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": { },
+ "id": 7,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "frameIndex": 1,
+ "showHeader": true
+ },
+ "span": 12,
+ "targets": [
+ {
+ "expr": "min_over_time(timestamp(rclone_speed{job=~\"$job\", instance=~\"$instance\"})[48h:]) * 1000",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "expr": "max_over_time(timestamp(rclone_speed{job=~\"$job\", instance=~\"$instance\"})[48h:]) * 1000",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "title": "Historical Instances",
+ "transformations": [
+ {
+ "id": "seriesToColumns",
+ "options": {
+ "byField": "instance"
+ }
+ },
+ {
+ "id": "calculateField",
+ "options": {
+ "alias": "delta",
+ "binary": {
+ "left": "Value #B",
+ "operator": "-",
+ "reducer": "sum",
+ "right": "Value #A"
+ },
+ "mode": "binary",
+ "reduce": {
+ "reducer": "sum"
+ }
+ }
+ },
+ {
+ "id": "filterByValue",
+ "options": {
+ "filters": [
+ {
+ "config": {
+ "id": "lowerOrEqual",
+ "options": {
+ "value": 0
+ }
+ },
+ "fieldName": "delta"
+ }
+ ],
+ "match": "any",
+ "type": "exclude"
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Historical",
+ "titleSize": "h6",
+ "type": "row"
+ }
+ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(rclone_speed, job)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(rclone_speed{job=~\"$job\"}, instance)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "browser",
+ "title": "rclone",
+ "uid": "Mkm2KHPzS",
+ "version": 0
+}
diff --git a/assets/rclone/rules.yaml b/assets/rclone/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/rclone/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/redis/alerts.yaml b/assets/redis/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/redis/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/redis/dashboards/redis_overview b/assets/redis/dashboards/redis_overview
new file mode 100644
index 0000000..997e303
--- /dev/null
+++ b/assets/redis/dashboards/redis_overview
@@ -0,0 +1,1302 @@
+{
+ "editable": true,
+ "graphTooltip": 0,
+ "panels": [
+ {
+ "collapse": true,
+ "collapsed": false,
+ "id": 2,
+ "showTitle": true,
+ "title": "Overview / Topology",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "datasource": "default",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 8,
+ "x": 0,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "graphMode": "none"
+ },
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "sum(redis_instance_info{cluster=\"$cluster\", namespace=\"$namespace\", role=\"master\"})",
+ "format": "time_series",
+ "instant": true
+ }
+ ],
+ "title": "Masters",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "default",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 8,
+ "x": 8,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "graphMode": "none"
+ },
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "sum(redis_instance_info{cluster=\"$cluster\", namespace=\"$namespace\", role=\"slave\"})",
+ "format": "time_series",
+ "instant": true
+ }
+ ],
+ "title": "Slaves",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "default",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "graphMode": "none"
+ },
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "sum(redis_instance_info{cluster=\"$cluster\", namespace=\"$namespace\", redis_mode=\"sentinel\"})",
+ "format": "time_series",
+ "instant": true
+ }
+ ],
+ "title": "Sentinels",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "default",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "index": 1,
+ "text": "No"
+ },
+ "1": {
+ "index": 0,
+ "text": "Yes"
+ }
+ },
+ "type": "value"
+ }
+ ]
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 4
+ },
+ "id": 6,
+ "options": {
+ "showHeader": true
+ },
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "sum(redis_sentinel_master_status{cluster=\"$cluster\", master_name=\"redis-master.$namespace.svc.cluster.local\"}) by (pod,master_address)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": "default",
+ "expr": "sum(redis_instance_info{cluster=\"$cluster\", namespace=\"$namespace\", container=\"redis-server-exporter\"}) by (pod,role)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": "default",
+ "expr": "sum(kube_pod_info{cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"redis-[0-9]+\"}) by (pod,pod_ip)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": "default",
+ "expr": "sum(redis_master_link_up{cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"redis-[0-9]+\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": "default",
+ "expr": "sum(redis_master_sync_in_progress{cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"redis-[0-9]+\"}) by (pod)",
+ "format": "table",
+ "instant": true
+ },
+ {
+ "datasource": "default",
+ "expr": "sum(redis_slave_info{cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"redis-[0-9]+\"}) by (pod,master_host)",
+ "format": "table",
+ "instant": true
+ }
+ ],
+ "title": "Instance Roles",
+ "transformations": [
+ {
+ "id": "seriesToColumns",
+ "options": {
+ "byField": "pod"
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Value #A": true,
+ "Value #B": true,
+ "Value #C": true,
+ "Value #F": true
+ },
+ "indexByName": {
+ "Value #D": 5,
+ "Value #E": 6,
+ "master_address": 4,
+ "master_host": 3,
+ "pod": 0,
+ "pod_ip": 1,
+ "role": 2
+ },
+ "renameByName": {
+ "Value #D": "Master Link Up",
+ "Value #E": "Sync in Progress",
+ "master_address": "Sentinel Master",
+ "master_host": "Server Master",
+ "pod": "Pod",
+ "pod_ip": "Pod IP",
+ "role": "Server Role"
+ }
+ }
+ }
+ ],
+ "transparent": false,
+ "type": "table"
+ },
+ {
+ "collapse": true,
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 11
+ },
+ "id": 7,
+ "showTitle": true,
+ "title": "Replication",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "default",
+ "description": "Total number of slaves that have fully synced with the master and are receiving updates",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "short"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 11
+ },
+ "hiddenSeries": false,
+ "id": 8,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "sum(redis_master_link_up{cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"redis-[0-9]+\"})",
+ "format": "time_series",
+ "legendFormat": "Linked"
+ }
+ ],
+ "title": "Total Linked Slaves",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "default",
+ "description": "total number of slaves that are undergoing the initial replication from the master",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "short"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 11
+ },
+ "hiddenSeries": false,
+ "id": 9,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "sum(redis_master_sync_in_progress{cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"redis-[0-9]+\"})",
+ "format": "time_series",
+ "legendFormat": "Syncing"
+ }
+ ],
+ "title": "Slaves With Sync in Progress",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "default",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "bytes"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 11
+ },
+ "hiddenSeries": false,
+ "id": 10,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "scalar(max(redis_master_repl_offset{cluster=\"$cluster\", namespace=\"$namespace\"}))\n-\nredis_slave_repl_offset{cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"redis-[0-9]+\"}\n",
+ "format": "time_series",
+ "legendFormat": "{{ pod }}"
+ }
+ ],
+ "title": "Replication Lag",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ]
+ },
+ {
+ "collapse": true,
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 19
+ },
+ "id": 11,
+ "showTitle": true,
+ "title": "Clients",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "default",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "short"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "hiddenSeries": false,
+ "id": 12,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "redis_connected_clients{cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\", container=\"redis-server-exporter\"}",
+ "format": "time_series",
+ "legendFormat": "{{pod}}"
+ }
+ ],
+ "title": "Connected Clients",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "default",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "short"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "hiddenSeries": false,
+ "id": 13,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "redis_blocked_clients{cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\", container=\"redis-server-exporter\"}",
+ "format": "time_series",
+ "legendFormat": "{{pod}}"
+ }
+ ],
+ "title": "Blocked Clients",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ]
+ },
+ {
+ "collapse": true,
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 21
+ },
+ "id": 14,
+ "showTitle": true,
+ "title": "Kubernetes / Resources",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "default",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "short"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 22
+ },
+ "hiddenSeries": false,
+ "id": 15,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "requests",
+ "color": "#FF9830",
+ "fill": 0,
+ "linewidth": 2
+ },
+ {
+ "alias": "limits",
+ "color": "#F2495C",
+ "fill": 0,
+ "linewidth": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{namespace=\"$namespace\", pod=~\"$pod\", cluster=\"$cluster\", container=\"redis-server\"}) by (pod)",
+ "format": "time_series",
+ "legendFormat": "{{pod}}"
+ },
+ {
+ "datasource": "default",
+ "expr": "avg(kube_pod_container_resource_requests{job=\"kube-state-metrics/kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\", container=\"redis-server\", resource=\"cpu\"})",
+ "format": "time_series",
+ "legendFormat": "requests"
+ },
+ {
+ "datasource": "default",
+ "expr": "avg(kube_pod_container_resource_limits{job=\"kube-state-metrics/kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\", container=\"redis-server\", resource=\"cpu\"})",
+ "format": "time_series",
+ "legendFormat": "limits"
+ }
+ ],
+ "title": "CPU Usage",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "default",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "bytes"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 22
+ },
+ "hiddenSeries": false,
+ "id": 16,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "requests",
+ "color": "#FF9830",
+ "fill": 0,
+ "linewidth": 2
+ },
+ {
+ "alias": "limits",
+ "color": "#F2495C",
+ "fill": 0,
+ "linewidth": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "sum(container_memory_working_set_bytes{job=\"kube-system/cadvisor\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\", container=\"redis-server\", image!=\"\"}) by (pod)",
+ "format": "time_series",
+ "legendFormat": "{{pod}}"
+ },
+ {
+ "datasource": "default",
+ "expr": "avg(kube_pod_container_resource_requests{job=\"kube-state-metrics/kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\", container=\"redis-server\", resource=\"memory\"})",
+ "format": "time_series",
+ "legendFormat": "requests"
+ },
+ {
+ "datasource": "default",
+ "expr": "avg(kube_pod_container_resource_limits{job=\"kube-state-metrics/kube-state-metrics\", cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\", container=\"redis-server\", resource=\"memory\"})",
+ "format": "time_series",
+ "legendFormat": "limits"
+ }
+ ],
+ "title": "Memory Usage",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "default",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "percent"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 30
+ },
+ "hiddenSeries": false,
+ "id": 17,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "sum(increase(container_cpu_cfs_throttled_periods_total{job=\"kube-system/cadvisor\", namespace=\"$namespace\", pod=~\"$pod\", container=\"redis-server\", cluster=\"$cluster\"}[$__rate_interval])) by (container) /sum(increase(container_cpu_cfs_periods_total{job=\"kube-system/cadvisor\", namespace=\"$namespace\", pod=~\"$pod\", container!=\"\", cluster=\"$cluster\"}[$__rate_interval])) by (pod)",
+ "format": "time_series",
+ "legendFormat": "{{pod}}"
+ }
+ ],
+ "title": "CPU Throttling",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "default",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "binBps"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 30
+ },
+ "hiddenSeries": false,
+ "id": 18,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "avg(irate(redis_net_input_bytes_total{cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\", container=\"redis-server-exporter\"}[$__rate_interval])) by (cmd,pod)",
+ "format": "time_series",
+ "legendFormat": "{{pod}} in"
+ },
+ {
+ "datasource": "default",
+ "expr": "avg(irate(redis_net_output_bytes_total{cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\", container=\"redis-server-exporter\"}[$__rate_interval])) by (cmd,pod)",
+ "format": "time_series",
+ "legendFormat": "{{pod}} out"
+ }
+ ],
+ "title": "Network I/O",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ]
+ },
+ {
+ "collapse": true,
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 31
+ },
+ "id": 19,
+ "panels": [
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "default",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "ops/s"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 32
+ },
+ "hiddenSeries": false,
+ "id": 20,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "sum by (pod) (rate(redis_commands_total{cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\", container=\"redis-server-exporter\"}[$__rate_interval]))",
+ "format": "time_series",
+ "legendFormat": "{{pod}}"
+ }
+ ],
+ "title": "Ops / Sec",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "default",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "ops/s"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 32
+ },
+ "hiddenSeries": false,
+ "id": 21,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "sum by (cmd) (rate(redis_commands_total{cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\", container=\"redis-server-exporter\"}[$__rate_interval]))",
+ "format": "time_series",
+ "legendFormat": "{{pod}}"
+ }
+ ],
+ "title": "Commands / Sec",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "default",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "short"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 32
+ },
+ "hiddenSeries": false,
+ "id": 22,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "sum(redis_db_keys{cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\", container=\"redis-server-exporter\"}) by (pod)",
+ "format": "time_series",
+ "legendFormat": "{{pod}}"
+ }
+ ],
+ "title": "Total Keys",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Usage",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": true,
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 33
+ },
+ "id": 23,
+ "panels": [
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "default",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "bytes"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 34
+ },
+ "hiddenSeries": false,
+ "id": 24,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "sum(redis_aof_current_size_bytes{cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\", container=\"redis-server-exporter\"}) by (pod)",
+ "format": "time_series",
+ "legendFormat": "{{pod}}"
+ }
+ ],
+ "title": "AOF Size",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "default",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "seconds"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 34
+ },
+ "hiddenSeries": false,
+ "id": 25,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "sum(time() - redis_rdb_last_save_timestamp_seconds{cluster=\"$cluster\", namespace=\"$namespace\", pod=~\"$pod\", container=\"redis-server-exporter\"}) by (pod)",
+ "format": "time_series",
+ "legendFormat": "{{pod}}"
+ }
+ ],
+ "title": "Time Since Last Snapshot",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ]
+ },
+ {
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "default",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "percent"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 34
+ },
+ "hiddenSeries": false,
+ "id": 26,
+ "lines": true,
+ "linewidth": 1,
+ "nullPointMode": "null",
+ "percentage": false,
+ "points": false,
+ "renderer": "flot",
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": "default",
+ "expr": "max by (persistentvolumeclaim) (\n(\n topk by (persistentvolumeclaim) (1, kubelet_volume_stats_capacity_bytes{cluster=\"$cluster\", job=\"kube-system/kubelet\", namespace=\"$namespace\", persistentvolumeclaim=~\"redis-server-data-$pod\"})\n -\n topk by (persistentvolumeclaim) (1, kubelet_volume_stats_available_bytes{cluster=\"$cluster\", job=\"kube-system/kubelet\", namespace=\"$namespace\", persistentvolumeclaim=~\"redis-server-data-$pod\"})\n)\n/\ntopk by (persistentvolumeclaim) (1, kubelet_volume_stats_capacity_bytes{cluster=\"$cluster\", job=\"kube-system/kubelet\", namespace=\"$namespace\", persistentvolumeclaim=~\"redis-server-data-$pod\"})\n* 100)\n",
+ "format": "time_series",
+ "legendFormat": "{{pod}}"
+ }
+ ],
+ "title": "Persistent Volume Usage",
+ "tooltip": {
+ "value_type": "individual"
+ },
+ "transparent": false,
+ "type": "graph",
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ]
+ }
+ ],
+ "showTitle": true,
+ "title": "Persistence",
+ "titleSize": "h6",
+ "type": "row"
+ }
+ ],
+ "schemaVersion": 25,
+ "style": "dark",
+ "tags": [
+ "redis-overview"
+ ],
+ "templating": {
+ "list": [
+ {
+ "datasource": "default",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Cluster",
+ "multi": false,
+ "name": "cluster",
+ "query": "label_values(redis_instance_info, cluster)",
+ "refresh": 0,
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "datasource": "default",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Namespace",
+ "multi": false,
+ "name": "namespace",
+ "query": "label_values(redis_instance_info{cluster=\"$cluster\"}, namespace)",
+ "refresh": 0,
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "datasource": "default",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Pod",
+ "multi": true,
+ "name": "pod",
+ "query": "label_values(redis_instance_info{cluster=\"$cluster\",namespace=\"$namespace\"}, pod)",
+ "refresh": 0,
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "title": "Redis Overview",
+ "uid": "132f866ae97d2e753683c656a3c3e2f6"
+}
diff --git a/assets/redis/rules.yaml b/assets/redis/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/redis/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/ruby/alerts.yaml b/assets/ruby/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/ruby/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/ruby/dashboards/ruby-overview.json b/assets/ruby/dashboards/ruby-overview.json
new file mode 100644
index 0000000..d3c5c66
--- /dev/null
+++ b/assets/ruby/dashboards/ruby-overview.json
@@ -0,0 +1,531 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Http metrics for Rack applications",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 18,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Http requests throughput by path.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by(path) (rate(http_server_request_duration_seconds_count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "{{path}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Request rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Http requests duration percentiles and average.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(\n 0.99, \n sum (\n rate(http_server_request_duration_seconds_bucket{job=~\"$job\", instance=~\"$instance\", method=~\"$method\", path=~\"$path\"}[$__rate_interval])\n ) by (le) \n) * 1e3",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "99th Percentile",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "histogram_quantile(\n 0.5, \n sum (\n rate(http_server_request_duration_seconds_bucket{job=~\"$job\", instance=~\"$instance\", method=~\"$method\", path=~\"$path\"}[$__rate_interval])\n ) by (le) \n) * 1e3",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "50th Percentile",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(rate(http_server_request_duration_seconds_sum{job=~\"$job\", instance=~\"$instance\", method=~\"$method\", path=~\"$path\"}[$__rate_interval])) * 1e3 \n/\nsum(rate(http_server_request_duration_seconds_count{job=~\"$job\", instance=~\"$instance\", method=~\"$method\", path=~\"$path\"}[$__rate_interval]))",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "Average",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "Request latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Http requests error rate (5xx) by path.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 9
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by(path) (\n rate(http_server_requests_total{job=~\"$job\", instance=~\"$instance\", method=~\"$method\", path=~\"$path\", code=~\"5.+\"}[$__rate_interval])\n)\n/\nsum by(path) (\n rate(http_server_requests_total{job=~\"$job\", instance=~\"$instance\", method=~\"$method\", path=~\"$path\"}[$__rate_interval])\n)",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{path}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Error rate",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "revision": 1,
+ "schemaVersion": 39,
+ "tags": [
+ "ruby-rack-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(http_server_requests_total, job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(http_server_requests_total, job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(http_server_requests_total, instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(http_server_requests_total, instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "definition": "label_values(http_server_requests_total, path)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Path",
+ "multi": true,
+ "name": "path",
+ "options": [ ],
+ "query": {
+ "query": "label_values(http_server_requests_total, path)",
+ "refId": "grafanacloud-muhammadshahzeb-prom-path-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "definition": "label_values(http_server_requests_total, method)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Method",
+ "multi": true,
+ "name": "method",
+ "options": [ ],
+ "query": {
+ "query": "label_values(http_server_requests_total, method)",
+ "refId": "grafanacloud-muhammadshahzeb-prom-method-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": { },
+ "timezone": "",
+ "title": "Ruby Rack application overview",
+ "uid": "k17ofEYMz",
+ "version": 2,
+ "weekStart": ""
+}
diff --git a/assets/ruby/rules.yaml b/assets/ruby/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/ruby/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/sap-hana/alerts.yaml b/assets/sap-hana/alerts.yaml
new file mode 100644
index 0000000..6feac46
--- /dev/null
+++ b/assets/sap-hana/alerts.yaml
@@ -0,0 +1,84 @@
+groups:
+- name: sap-hana-alerts
+ rules:
+ - alert: SapHanaHighCpuUtilization
+ annotations:
+ description: The CPU usage is at {{$labels.value}}% on {{$labels.core}} on {{$labels.host}}
+ which is above the threshold of 80%.
+ summary: CPU utilization is high.
+ expr: |
+ sum without (database_name) (hanadb_cpu_busy_percent) > 80
+ for: 5m
+ labels:
+ severity: critical
+ - alert: SapHanaHighPhysicalMemoryUsage
+ annotations:
+ description: The physical memory usage is at {{$labels.value}}% on {{$labels.host}}
+ which is above the threshold of 80%.
+ summary: Current physical memory usage of the host is approaching capacity.
+ expr: |
+ 100 * sum without (database_name)(hanadb_host_memory_resident_mb) / sum without (database_name) (hanadb_host_memory_physical_total_mb) > 80
+ for: 5m
+ labels:
+ severity: critical
+ - alert: SapHanaMemAllocLimitBelowRecommendation
+ annotations:
+ description: The memory allocation limit is set at {{$labels.value}}% on {{$labels.host}}
+ which is below the recommended value of 90%.
+ summary: Memory allocation limit set below recommended limit.
+ expr: |
+ 100 * sum without (database_name) (hanadb_host_memory_alloc_limit_mb) / sum without (database_name) (hanadb_host_memory_physical_total_mb) < 90
+ for: 5m
+ labels:
+ severity: warning
+ - alert: SapHanaHighMemoryUsage
+ annotations:
+ description: The memory usage is at {{$labels.value}}% on {{$labels.host}} which
+ is above the threshold of 80%.
+ summary: Current SAP HANA memory usage is approaching capacity.
+ expr: |
+ 100 * sum without (database_name) (hanadb_host_memory_used_total_mb) / sum without (database_name) (hanadb_host_memory_alloc_limit_mb) > 80
+ for: 5m
+ labels:
+ severity: critical
+ - alert: SapHanaHighDiskUtilization
+ annotations:
+ description: The disk usage is at {{$labels.value}}% on {{$labels.host}} which
+ is above the threshold of 80%.
+ summary: SAP HANA disk is approaching capacity.
+ expr: |
+ 100 * sum without (database_name, filesystem_type, path, usage_type) (hanadb_disk_total_used_size_mb) / sum without (database_name, filesystem_type, path, usage_type) (hanadb_disk_total_size_mb) > 80
+ for: 5m
+ labels:
+ severity: critical
+ - alert: SapHanaHighSqlExecutionTime
+ annotations:
+ description: The average SQL execution time is at {{$labels.value}}s on {{$labels.host}}
+ which is above the threshold of 1s.
+ summary: SAP HANA SQL average execution time is high.
+ expr: |
+ avg without (database_name, port, service, sql_type) (hanadb_sql_service_elap_per_exec_avg_ms) / 1000 > 1
+ for: 5m
+ labels:
+ severity: critical
+ - alert: SapHanaHighReplicationShippingTime
+ annotations:
+ description: The average system replication log shipping delay is at {{$labels.value}}s
+ from primary site {{$labels.site_name}} to replica site {{$labels.secondary_site_name}}
+ which is above the threshold of 1s.
+ summary: SAP HANA system replication log shipping delay is high.
+ expr: |
+ avg without (database_name, port, secondary_port, replication_mode) (hanadb_sr_ship_delay) > 1
+ for: 5m
+ labels:
+ severity: critical
+ - alert: SapHanaReplicationStatusError
+ annotations:
+ description: The replication status of replica {{$labels.secondary_site_name}}
+ is ERROR
+ summary: SAP HANA system replication status signifies an error.
+ expr: |
+ hanadb_sr_replication == 4
+ for: 5m
+ labels:
+ severity: critical
diff --git a/assets/sap-hana/dashboards/sap-hana-instance-overview.json b/assets/sap-hana/dashboards/sap-hana-instance-overview.json
new file mode 100644
index 0000000..000641f
--- /dev/null
+++ b/assets/sap-hana/dashboards/sap-hana-instance-overview.json
@@ -0,0 +1,1462 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "sap-hana-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other SAP HANA dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "CPU usage percentage of the SAP HANA instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, sid, host, core) (hanadb_cpu_busy_percent{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}} - core {{core}}"
+ }
+ ],
+ "title": "CPU usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Disk utilization percentage of the SAP HANA instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "100 * sum by (job, sid, host) (hanadb_disk_total_used_size_mb{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"}) / sum by (job, sid, host) (hanadb_disk_total_size_mb{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}}"
+ }
+ ],
+ "title": "Disk usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Physical memory utilization percentage of the SAP HANA instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "100 * sum by (job, sid, host) (hanadb_host_memory_resident_mb{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"}) / sum by (job, sid, host) (hanadb_host_memory_physical_total_mb{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}} - resident"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "100 * sum by (job, sid, host) (hanadb_host_memory_swap_used_mb{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"}) / clamp_min(sum by (job, sid, host) (hanadb_host_memory_swap_used_mb{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"} + hanadb_host_memory_swap_free_mb{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"}), 1)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}} - swap"
+ }
+ ],
+ "title": "Physical memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total used memory by schema in the SAP HANA instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decmbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, sid, host, database_name, schema_name) (hanadb_schema_used_memory_mb{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}} - {{database_name}} - {{schema_name}}"
+ }
+ ],
+ "title": "Schema memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Network I/O throughput for the SAP HANA instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "KBs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, sid, host, interface) (hanadb_network_receive_rate_kb_per_seconds{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}} - {{interface}} - receive"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, sid, host, interface) (hanadb_network_transmission_rate_kb_per_seconds{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}} - {{interface}} - transmit"
+ }
+ ],
+ "title": "Network I/O throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Disk throughput for the SAP HANA instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "KBs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, sid, host, disk) (hanadb_disk_io_throughput_kb_second{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}} - {{disk}}"
+ }
+ ],
+ "title": "Disk I/O throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of connections grouped by type and status in the SAP HANA instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "blue",
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 18
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.5.2-cloud.1.f9fd074b",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, sid, host, connection_type, connection_status)(hanadb_connections_total_count{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}} - {{connection_type}} - {{connection_status}}"
+ }
+ ],
+ "title": "Connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average elapsed time per execution by service and SQL type in the SAP HANA instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 18
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.5.0-cloud.5.a016665c",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, sid, host, service, sql_type) ( hanadb_sql_service_elap_per_exec_avg_ms{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}} - {{service}} - {{sql_type}}"
+ }
+ ],
+ "title": "Average query execution time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average lock wait time per execution by service and SQL type in the SAP HANA instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 18
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.5.0-cloud.5.a016665c",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, sid, host, service, sql_type) (hanadb_sql_service_lock_per_exec_ms{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}} - {{service}} - {{sql_type}}"
+ }
+ ],
+ "title": "Average lock wait execution time",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 11,
+ "targets": [ ],
+ "title": "Alerts",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Count of the SAP HANA instance’s current alerts",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "yellow",
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "green",
+ "value": 0
+ },
+ {
+ "color": "#EAB839",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 7,
+ "x": 0,
+ "y": 25
+ },
+ "id": 12,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.5.2-cloud.2.0cb5a501",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, sid, host) (hanadb_alerts_current_rating{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}}"
+ }
+ ],
+ "title": "Alerts",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Table of the recent SAP HANA current alerts in the SAP HANA instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "align": "center",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 17,
+ "x": 7,
+ "y": 25
+ },
+ "id": 13,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "9.5.2-cloud.2.0cb5a501",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hanadb_alerts_current_rating{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"}",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": "{{alert_details}} {{alert_useraction}}"
+ }
+ ],
+ "title": "Recent alerts",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Value": true,
+ "__name__": true,
+ "alert_timestamp": true,
+ "database_name": true,
+ "host": true,
+ "insnr": true,
+ "instance": true,
+ "job": true,
+ "port": true,
+ "sid": true
+ },
+ "indexByName": {
+ "Time": 2,
+ "Value": 12,
+ "__name__": 3,
+ "alert_details": 0,
+ "alert_timestamp": 4,
+ "alert_useraction": 1,
+ "database_name": 5,
+ "host": 6,
+ "insnr": 7,
+ "instance": 8,
+ "job": 9,
+ "port": 10,
+ "sid": 11
+ },
+ "renameByName": {
+ "Time": "",
+ "alert_details": "Details",
+ "alert_useraction": "Action",
+ "port": ""
+ }
+ }
+ },
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "Action": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Details": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Time": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ }
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": { },
+ "indexByName": { },
+ "renameByName": {
+ "Time (lastNotNull)": "Time (last fired)"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 31
+ },
+ "id": 14,
+ "targets": [ ],
+ "title": "Outliers",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top tables by the sum of memory size in the main, delta, and history parts for the SAP HANA instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decmbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.5.0-cloud.5.a016665c",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, sid, host, database_name, table_name, schema_name)(topk(5, hanadb_table_cs_top_mem_total_mb{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"}))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}} - {{database_name}} - {{schema_name}} - {{table_name}}"
+ }
+ ],
+ "title": "Top tables by memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top statements by time consumed over all executions for the SAP HANA instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "µs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 32
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.5.0-cloud.5.a016665c",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, sid, host, sql_hash) (hanadb_sql_top_time_consumers_mu{job=~\"$job\", sid=~\"$sid\", host=~\"$host\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}} - hash: {{sql_hash}}"
+ }
+ ],
+ "title": "Top SQL queries by average time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "Recent trace logs as collected from SAP HANA.",
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 38
+ },
+ "id": 17,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "pluginVersion": "9.5.0-cloud.5.a016665c",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{filename=~\"/opt/hana/shared/.*/HDB.*/.*/trace/.*.trc\"} |=``",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Trace logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "sap-hana-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki Datasource",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Job",
+ "multi": false,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(hanadb_cpu_busy_percent,job)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "SAP HANA system",
+ "multi": false,
+ "name": "sid",
+ "options": [ ],
+ "query": "label_values(hanadb_cpu_busy_percent,sid)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "SAP HANA instance",
+ "multi": false,
+ "name": "host",
+ "options": [ ],
+ "query": "label_values(hanadb_cpu_busy_percent,host)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "SAP HANA instance overview",
+ "uid": "sap-hana-instance-overview",
+ "version": 0
+}
diff --git a/assets/sap-hana/dashboards/sap-hana-system-overview.json b/assets/sap-hana/dashboards/sap-hana-system-overview.json
new file mode 100644
index 0000000..b02c7d1
--- /dev/null
+++ b/assets/sap-hana/dashboards/sap-hana-system-overview.json
@@ -0,0 +1,1337 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "sap-hana-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Other SAP HANA dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "State of the replicas in the SAP HANA system",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "green",
+ "index": 0,
+ "text": "ACTIVE"
+ },
+ "1": {
+ "color": "yellow",
+ "index": 1,
+ "text": "INITIALIZING"
+ },
+ "2": {
+ "color": "yellow",
+ "index": 2,
+ "text": "SYNCING"
+ },
+ "3": {
+ "color": "red",
+ "index": 3,
+ "text": "UNKNOWN"
+ },
+ "4": {
+ "color": "red",
+ "index": 4,
+ "text": "ERROR"
+ },
+ "99": {
+ "color": "red",
+ "index": 5,
+ "text": "UNMAPPED"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "green",
+ "value": 0
+ },
+ {
+ "color": "yellow",
+ "value": 1
+ },
+ {
+ "color": "red",
+ "value": 3
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 9,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.5.2-cloud.2.0cb5a501",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hanadb_sr_replication{job=~\"$job\", sid=~\"$sid\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{secondary_site_name}}"
+ }
+ ],
+ "title": "Replica status",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average system replication log shipping delay in the SAP HANA system ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 15,
+ "x": 9,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, sid, secondary_site_name) (hanadb_sr_ship_delay{job=~\"$job\", sid=~\"$sid\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{secondary_site_name}}"
+ }
+ ],
+ "title": "Average replication ship delay",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "CPU usage percentage of the SAP HANA system",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineStyle": {
+ "fill": "solid"
+ },
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, sid, host, core) (hanadb_cpu_busy_percent{job=~\"$job\", sid=~\"$sid\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}} - core {{core}}"
+ }
+ ],
+ "title": "CPU usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Disk utilization percentage of the SAP HANA system",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "100 * sum by (job, sid, host) (hanadb_disk_total_used_size_mb{job=~\"$job\", sid=~\"$sid\"}) / sum by (job, sid, host) (hanadb_disk_total_size_mb{job=~\"$job\", sid=~\"$sid\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}}"
+ }
+ ],
+ "title": "Disk usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Physical memory utilization percentage of the SAP HANA system",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "100 * sum by (job, sid, host) (hanadb_host_memory_resident_mb{job=~\"$job\", sid=~\"$sid\"}) / sum by (job, sid, host) (hanadb_host_memory_physical_total_mb{job=~\"$job\", sid=~\"$sid\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}} - resident"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "100 * sum by (job, sid, host) (hanadb_host_memory_swap_used_mb{job=~\"$job\", sid=~\"$sid\"}) / clamp_min(sum by (job, sid, host) (hanadb_host_memory_swap_used_mb{job=~\"$job\", sid=~\"$sid\"} + hanadb_host_memory_swap_free_mb{job=~\"$job\", sid=~\"$sid\"}), 1)",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}} - swap"
+ }
+ ],
+ "title": "Physical memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Total amount of used memory by processes in the SAP HANA system",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "100 * sum by (job, sid, host) (hanadb_host_memory_used_total_mb{job=~\"$job\", sid=~\"$sid\"}) / sum by (job, sid, host) (hanadb_host_memory_alloc_limit_mb{job=~\"$job\", sid=~\"$sid\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}}"
+ }
+ ],
+ "title": "SAP HANA memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Network I/O throughput in the SAP HANA system",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "KBs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 18
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, sid, host) (hanadb_network_receive_rate_kb_per_seconds{job=~\"$job\", sid=~\"$sid\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}} - receive"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, sid, host) (hanadb_network_transmission_rate_kb_per_seconds{job=~\"$job\", sid=~\"$sid\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}} - transmit"
+ }
+ ],
+ "title": "Network I/O throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Disk throughput for the SAP HANA system",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "KBs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, sid, host) (hanadb_disk_io_throughput_kb_second{job=~\"$job\", sid=~\"$sid\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}}"
+ }
+ ],
+ "title": "Disk I/O throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average elapsed time per execution across the SAP HANA system",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (job, sid, host, service, sql_type) (hanadb_sql_service_elap_per_exec_avg_ms{job=~\"$job\", sid=~\"$sid\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}} - service: {{service}} - type: {{sql_type}}"
+ }
+ ],
+ "title": "Average query execution time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of connections in active states across the SAP HANA system",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 12,
+ "y": 24
+ },
+ "id": 11,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.5.2-cloud.2.0cb5a501",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, sid, host) (hanadb_connections_total_count{job=~\"$job\", sid=~\"$sid\", connection_status=~\"RUNNING|QUEUING\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}}"
+ }
+ ],
+ "title": "Active connections",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of connections in the idle state across the SAP HANA system",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 18,
+ "y": 24
+ },
+ "id": 12,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.5.2-cloud.2.0cb5a501",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, sid, host) (hanadb_connections_total_count{job=~\"$job\", sid=~\"$sid\", connection_status=~\"IDLE\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}}"
+ }
+ ],
+ "title": "Idle connections",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 30
+ },
+ "id": 13,
+ "targets": [ ],
+ "title": "Alerts",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Count of the SAP HANA current alerts in the SAP HANA system",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "yellow",
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "green",
+ "value": 0
+ },
+ {
+ "color": "#EAB839",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 31
+ },
+ "id": 14,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.5.2-cloud.2.0cb5a501",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (job, sid, host) (hanadb_alerts_current_rating{job=~\"$job\", sid=~\"$sid\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{host}}"
+ }
+ ],
+ "title": "Alerts",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Table of the recent SAP HANA current alerts in the SAP HANA system",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "align": "center",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 18,
+ "x": 6,
+ "y": 31
+ },
+ "id": 15,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "enablePagination": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "frameIndex": 4,
+ "showHeader": true
+ },
+ "pluginVersion": "9.5.2-cloud.2.0cb5a501",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "hanadb_alerts_current_rating{job=~\"$job\", sid=~\"$sid\"}",
+ "format": "table",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Recent alerts",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": false,
+ "Value": true,
+ "__name__": true,
+ "alert_details": false,
+ "alert_timestamp": true,
+ "database_name": true,
+ "host": true,
+ "insnr": true,
+ "instance": true,
+ "job": true,
+ "port": true,
+ "sid": true
+ },
+ "indexByName": {
+ "Time": 2,
+ "Value": 12,
+ "__name__": 4,
+ "alert_details": 0,
+ "alert_timestamp": 3,
+ "alert_useraction": 1,
+ "database_name": 5,
+ "host": 6,
+ "insnr": 7,
+ "instance": 8,
+ "job": 9,
+ "port": 10,
+ "sid": 11
+ },
+ "renameByName": {
+ "alert_details": "Details",
+ "alert_timestamp": "",
+ "alert_useraction": "Action",
+ "database_name": ""
+ }
+ }
+ },
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "Action": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Details": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Time": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ }
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": { },
+ "indexByName": { },
+ "renameByName": {
+ "Action": "",
+ "Time (lastNotNull)": "Time (last fired)"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "sap-hana-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Job",
+ "multi": false,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(hanadb_cpu_busy_percent,job)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "SAP HANA system",
+ "multi": false,
+ "name": "sid",
+ "options": [ ],
+ "query": "label_values(hanadb_cpu_busy_percent,sid)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "SAP HANA system overview",
+ "uid": "sap-hana-system-overview",
+ "version": 0
+}
diff --git a/assets/sap-hana/rules.yaml b/assets/sap-hana/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/sap-hana/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/snmp/alerts.yaml b/assets/snmp/alerts.yaml
new file mode 100644
index 0000000..2f63bc1
--- /dev/null
+++ b/assets/snmp/alerts.yaml
@@ -0,0 +1,21 @@
+groups:
+- name: snmp
+ rules:
+ - alert: SNMPTargetDown
+ annotations:
+ description: SNMP target {{$labels.snmp_target}} on instance {{$labels.instance}}
+ from job {{$labels.job}} is down.
+ summary: SNMP Target is down.
+ expr: up{job_snmp=~"integrations/snmp.*"} == 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: SNMPTargetInterfaceDown
+ annotations:
+ description: SNMP interface {{$labels.ifDescr}} on target {{$labels.snmp_target}}
+ on instance {{$labels.instance}} from job {{$labels.job}} is down.
+ summary: Network interface on SNMP target is down.
+ expr: ifOperStatus{job_snmp=~"integrations/snmp.*"} == 2
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/snmp/dashboards/snmp-overview.json b/assets/snmp/dashboards/snmp-overview.json
new file mode 100644
index 0000000..ba1f721
--- /dev/null
+++ b/assets/snmp/dashboards/snmp-overview.json
@@ -0,0 +1,1101 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 2,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "snmp"
+ ],
+ "targetBlank": false,
+ "title": "Docker Dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapse": false,
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 3
+ },
+ "id": 2,
+ "panels": [ ],
+ "showTitle": true,
+ "title": "Overview",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "The time since the network management portion of the system was last re-initialized.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 4
+ },
+ "id": 3,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "sysUpTime{job_snmp=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"} * 10",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "System Uptime",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "The maximum number of bytes transmitted out of all interfaces, including framing characters.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 4,
+ "y": 4
+ },
+ "id": 4,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "max(irate(ifHCOutOctets{job_snmp=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\", ifDescr=~\"$interface\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Max Out (Current)",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "The maximum number of bytes transmitted into all interfaces, including framing characters.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 8,
+ "y": 4
+ },
+ "id": 5,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "max(irate(ifHCInOctets{job_snmp=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\", ifDescr=~\"$interface\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Max In (Current)",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "The total number of bytes transmitted out of all interfaces, including framing characters.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 12,
+ "y": 4
+ },
+ "id": 6,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "max(delta(ifHCOutOctets{job_snmp=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\", ifDescr=~\"$interface\"}[$__range]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Out",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "The total number of bytes transmitted into all interfaces, including framing characters.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 16,
+ "y": 4
+ },
+ "id": 7,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "max(delta(ifHCInOctets{job_snmp=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\", ifDescr=~\"$interface\"}[$__range]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Total In",
+ "type": "stat"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 8
+ },
+ "id": 8,
+ "panels": [ ],
+ "showTitle": true,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Interfaces Overview",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "Shows the current operational state of the interface.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [
+ {
+ "options": {
+ "1": {
+ "color": "green",
+ "index": 1,
+ "text": "Up"
+ },
+ "2": {
+ "color": "red",
+ "index": 1,
+ "text": "Down"
+ },
+ "3": {
+ "color": "blue",
+ "index": 1,
+ "text": "Test"
+ },
+ "4": {
+ "color": "white",
+ "index": 1,
+ "text": "Unknown"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "noValue": "Unknown",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "string"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 9
+ },
+ "id": 9,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "value_and_name",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "ifOperStatus{job_snmp=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\", ifDescr=~\"$interface\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ifDescr}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Interface Operational Status",
+ "type": "stat"
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "Current traffic per interface (In values are represented as negative).",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "smooth",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 18,
+ "x": 6,
+ "y": 9
+ },
+ "id": 10,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "irate(ifHCOutOctets{job_snmp=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\", ifDescr=~\"$interface\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ifDescr}} Out",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "-irate(ifHCInOctets{job_snmp=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\", ifDescr=~\"$interface\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ifDescr}} In",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [ ],
+ "title": "Per Interface Traffic (Current)",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": [ ]
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": true
+ }
+ ]
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 17
+ },
+ "id": 11,
+ "panels": [ ],
+ "showTitle": true,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Interface Specific Information",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "General information of all the interfaces of the target device.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "left",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Speed"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "Bps"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 18
+ },
+ "id": 12,
+ "links": [ ],
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "frameIndex": 0,
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "count by (ifDescr, ifType) (ifType_info{job_snmp=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\", ifDescr=~\"$interface\"})",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "max by (ifDescr) (ifSpeed{job_snmp=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\", ifDescr=~\"$interface\"})",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "count by (ifDescr, ifPhysAddress) (ifPhysAddress{job_snmp=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\", ifDescr=~\"$interface\"})",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "max by (ifDescr) (ifMtu{job_snmp=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\", ifDescr=~\"$interface\"})",
+ "format": "table",
+ "instant": true,
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "D"
+ }
+ ],
+ "title": "Device Interfaces Information",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": { }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Value #A": true,
+ "Value #C": true
+ },
+ "includeByName": { },
+ "indexByName": { },
+ "renameByName": {
+ "Value #A": "",
+ "Value #B": "Speed",
+ "Value #C": "",
+ "Value #D": "MTU",
+ "ifDescr": "Interface",
+ "ifPhysAddress": "MAC Address",
+ "ifType": "Type"
+ }
+ }
+ },
+ {
+ "id": "convertFieldType",
+ "options": {
+ "conversions": [ ],
+ "fields": { }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 13,
+ "panels": [ ],
+ "showTitle": true,
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Interfaces Errors",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "The number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "id": 14,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "ifOutErrors{job_snmp=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\", ifDescr=~\"$interface\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ifDescr}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Errors Out",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "description": "the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "id": 15,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$prometheus_datasource"
+ },
+ "expr": "ifInErrors{job_snmp=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\", ifDescr=~\"$interface\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ifDescr}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Errors In",
+ "type": "stat"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 39,
+ "tags": [
+ "snmp-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "integrations/snmp",
+ "value": "integrations/snmp"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$prometheus_datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Job",
+ "multi": false,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(snmp_scrape_duration_seconds, job_snmp)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "snmp",
+ "value": "snmp"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$prometheus_datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Instance",
+ "multi": false,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(snmp_scrape_duration_seconds{job_snmp=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "snmp.sample-apps.svc.cluster.local",
+ "value": "snmp.sample-apps.svc.cluster.local"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$prometheus_datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "SNMP Target",
+ "multi": false,
+ "name": "snmp_target",
+ "options": [ ],
+ "query": "label_values(snmp_scrape_duration_seconds{job_snmp=~\"$job\", instance=~\"$instance\"}, snmp_target)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$prometheus_datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Interface",
+ "multi": true,
+ "name": "interface",
+ "options": [ ],
+ "query": "label_values(ifType_info{job_snmp=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}, ifDescr)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "SNMP Overview",
+ "uid": "integration-snmp-overview",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/snmp/rules.yaml b/assets/snmp/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/snmp/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/spark/alerts.yaml b/assets/spark/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/spark/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/spark/dashboards/spark-metrics.json b/assets/spark/dashboards/spark-metrics.json
new file mode 100644
index 0000000..4efaac1
--- /dev/null
+++ b/assets/spark/dashboards/spark-metrics.json
@@ -0,0 +1,1135 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 21,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 7,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "metrics_spark_app_driver_DAGScheduler_job_allJobs_Number{instance_type=~\"driver\", job=~\"integrations/spark-driver\", spark_cluster=~\"$spark_cluster\"}",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "All Jobs",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 4,
+ "y": 0
+ },
+ "id": 6,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_spark_app_driver_DAGScheduler_job_activeJobs_Number{instance_type=~\"driver\", job=~\"integrations/spark-driver\", spark_cluster=~\"$spark_cluster\"}",
+ "refId": "A"
+ }
+ ],
+ "title": "Active Jobs",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 8,
+ "y": 0
+ },
+ "id": 11,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_master_workers_Number{instance_type=~\"master\", job=~\"integrations/spark-master\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "maxMem_MB",
+ "refId": "A"
+ }
+ ],
+ "title": "No Of Workers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 12,
+ "y": 0
+ },
+ "id": 10,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_master_workers_Number{instance_type=~\"master\", job=~\"integrations/spark-master\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "maxMem_MB",
+ "refId": "A"
+ }
+ ],
+ "title": "No Of Alive Workers",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 16,
+ "y": 0
+ },
+ "id": 12,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_worker_coresFree_Number{instance_type=~\"worker\", job=~\"integrations/spark-worker\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "maxMem_MB",
+ "refId": "A"
+ }
+ ],
+ "title": "No Of Cores Free By Worker",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 20,
+ "y": 0
+ },
+ "id": 13,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_worker_coresUsed_Number{instance_type=~\"worker\", job=~\"integrations/spark-worker\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "No Of Cores Used By Worker",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 5
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_spark_app_driver_DAGScheduler_stage_runningStages_Number{instance_type=~\"driver\", job=~\"integrations/spark-driver\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "Running Stages",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_spark_app_driver_DAGScheduler_stage_waitingStages_Number{instance_type=~\"driver\", job=~\"integrations/spark-driver\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "Waiting Stages",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_spark_app_driver_DAGScheduler_stage_failedStages_Number{instance_type=~\"driver\", job=~\"integrations/spark-driver\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "Failed Stages",
+ "refId": "C"
+ }
+ ],
+ "title": "Spark Driver Running Stages",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 5
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": true,
+ "expr": "metrics_spark_app_driver_DAGScheduler_messageProcessingTime_Max{instance_type=~\"driver\", job=~\"integrations/spark-driver\", spark_cluster=~\"$spark_cluster\"} ",
+ "interval": "",
+ "legendFormat": "Max",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_spark_app_driver_DAGScheduler_messageProcessingTime_Min{instance_type=~\"driver\", job=~\"integrations/spark-driver\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "Min",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_spark_app_driver_DAGScheduler_messageProcessingTime_Mean{instance_type=~\"driver\", job=~\"integrations/spark-driver\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "Mean",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_spark_app_driver_DAGScheduler_messageProcessingTime_StdDev{instance_type=~\"driver\", job=~\"integrations/spark-driver\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "StdDev",
+ "refId": "D"
+ }
+ ],
+ "title": "Message Processing Time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 5
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_spark_app_driver_BlockManager_memory_maxMem_MB_Number{instance_type=~\"driver\", job=~\"integrations/spark-driver\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "maxMem_MB",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_spark_app_driver_BlockManager_disk_diskSpaceUsed_MB_Number{instance_type=~\"driver\", job=~\"integrations/spark-driver\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "diskSpaceUsed_MB",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_spark_app_driver_BlockManager_memory_maxOnHeapMem_MB_Number{instance_type=~\"driver\", job=~\"integrations/spark-driver\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "maxOnHeapMem_MB",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_spark_app_driver_BlockManager_memory_maxOffHeapMem_MB_Number{instance_type=~\"driver\", job=~\"integrations/spark-driver\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "maxOffHeapMem_MB",
+ "refId": "C"
+ }
+ ],
+ "title": "BlockManager",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 13
+ },
+ "id": 14,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_worker_memFree_MB_Number{instance_type=~\"worker\", job=~\"integrations/spark-worker\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "memFree_MB",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_worker_memUsed_MB_Number{instance_type=~\"worker\", job=~\"integrations/spark-worker\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "memUsed_MB",
+ "refId": "B"
+ }
+ ],
+ "title": "Memory Free/Used by Worker",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 13
+ },
+ "id": 15,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_spark_app_driver_LiveListenerBus_listenerProcessingTime_org_apache_spark_HeartbeatReceiver_Count{type=\"timers\", instance_type=~\"driver\", job=~\"integrations/spark-driver\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "Count",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_spark_app_driver_LiveListenerBus_listenerProcessingTime_org_apache_spark_HeartbeatReceiver_Max{type=\"timers\", instance_type=~\"driver\", job=~\"integrations/spark-driver\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "Max",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_spark_app_driver_LiveListenerBus_listenerProcessingTime_org_apache_spark_HeartbeatReceiver_Mean{type=\"timers\", instance_type=~\"driver\", job=~\"integrations/spark-driver\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "Mean",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "expr": "metrics_spark_app_driver_LiveListenerBus_listenerProcessingTime_org_apache_spark_HeartbeatReceiver_Min{type=\"timers\", instance_type=~\"driver\", job=~\"integrations/spark-driver\", spark_cluster=~\"$spark_cluster\"} ",
+ "legendFormat": "Min",
+ "refId": "D"
+ }
+ ],
+ "title": "LiveListenerBus listenerProcessingTime HeartbeatReceiver",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 38,
+ "tags": [
+ "spark-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(metrics_spark_app_driver_DAGScheduler_job_allJobs_Number,spark_cluster)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Spark Cluster",
+ "multi": false,
+ "name": "spark_cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(metrics_spark_app_driver_DAGScheduler_job_allJobs_Number,spark_cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "Apache Spark Metrics",
+ "uid": "EWIYh-OMz",
+ "version": 2,
+ "weekStart": ""
+}
diff --git a/assets/spark/rules.yaml b/assets/spark/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/spark/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/spring-boot/alerts.yaml b/assets/spring-boot/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/spring-boot/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/spring-boot/dashboards/spring-boot-dashboard.json b/assets/spring-boot/dashboards/spring-boot-dashboard.json
new file mode 100644
index 0000000..0b31284
--- /dev/null
+++ b/assets/spring-boot/dashboards/spring-boot-dashboard.json
@@ -0,0 +1,4017 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Dashboard for Spring Boot2 Statistics(by micrometer-prometheus).",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 6756,
+ "graphTooltip": 0,
+ "id": 2,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 54,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Basic Statistics",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 0,
+ "y": 1
+ },
+ "id": 52,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "process_uptime_seconds{application=~\"$application\", instance=~\"$instance\", job=~\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 14400
+ }
+ ],
+ "title": "Uptime",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 70
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 5,
+ "x": 6,
+ "y": 1
+ },
+ "id": 58,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(jvm_memory_used_bytes{application=~\"$application\", instance=~\"$instance\", job=~\"$job\", area=\"heap\"})*100/sum(jvm_memory_max_bytes{application=~\"$application\",instance=~\"$instance\", job=~\"$job\", area=\"heap\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A",
+ "step": 14400
+ }
+ ],
+ "title": "Heap Used",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ },
+ {
+ "options": {
+ "from": -100000000000000005366162204393472,
+ "result": {
+ "text": "N/A"
+ },
+ "to": 0
+ },
+ "type": "range"
+ }
+ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 70
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 5,
+ "x": 11,
+ "y": 1
+ },
+ "id": 60,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(jvm_memory_used_bytes{application=~\"$application\", instance=~\"$instance\", job=~\"$job\", area=\"nonheap\"})*100/sum(jvm_memory_max_bytes{application=~\"$application\",instance=~\"$instance\", job=~\"$job\", area=\"nonheap\"})",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A",
+ "step": 14400
+ }
+ ],
+ "title": "Non-Heap Used",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "locale"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 1
+ },
+ "id": 66,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "process_files_open_files{application=~\"$application\", instance=~\"$instance\", job=~\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Open Files",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "process_files_max_files{application=~\"$application\", instance=~\"$instance\", job=~\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Max Files",
+ "refId": "B"
+ }
+ ],
+ "title": "Process Open Files",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "dateTimeAsIso"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 0,
+ "y": 4
+ },
+ "id": 56,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "process_start_time_seconds{application=~\"$application\", instance=~\"$instance\", job=~\"$job\"}*1000",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 14400
+ }
+ ],
+ "title": "Start time",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 7
+ },
+ "id": 95,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "system_cpu_usage{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "System CPU Usage",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "process_cpu_usage{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Process CPU Usage",
+ "refId": "B"
+ }
+ ],
+ "title": "CPU Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 7
+ },
+ "id": 96,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "system_load_average_1m{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Load Average [1m]",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "system_cpu_count{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "CPU Core Size",
+ "refId": "B"
+ }
+ ],
+ "title": "Load Average",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 48,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "JVM Statistics - Memory",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 15
+ },
+ "id": 85,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "repeat": "memory_pool_heap",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "jvm_memory_used_bytes{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", id=~\"$memory_pool_heap\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Used",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "jvm_memory_committed_bytes{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", id=~\"$memory_pool_heap\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Commited",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "jvm_memory_max_bytes{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", id=~\"$memory_pool_heap\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Max",
+ "refId": "B"
+ }
+ ],
+ "title": "$memory_pool_heap (heap)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 23
+ },
+ "id": 88,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "repeat": "memory_pool_nonheap",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "jvm_memory_used_bytes{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", id=~\"$memory_pool_nonheap\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Used",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "jvm_memory_committed_bytes{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", id=~\"$memory_pool_nonheap\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Commited",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "jvm_memory_max_bytes{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", id=~\"$memory_pool_nonheap\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Max",
+ "refId": "B"
+ }
+ ],
+ "title": "$memory_pool_nonheap (non-heap)",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "locale"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 31
+ },
+ "id": 50,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "jvm_classes_loaded_classes{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Classes Loaded",
+ "refId": "A"
+ }
+ ],
+ "title": "Classes Loaded",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 31
+ },
+ "id": 80,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "irate(jvm_classes_unloaded_classes_total{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Classes Unloaded",
+ "refId": "A"
+ }
+ ],
+ "title": "Classes Unloaded",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 39
+ },
+ "id": 82,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "jvm_buffer_memory_used_bytes{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", id=\"direct\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Used Bytes",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "jvm_buffer_total_capacity_bytes{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", id=\"direct\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Capacity Bytes",
+ "refId": "B"
+ }
+ ],
+ "title": "Direct Buffers",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 39
+ },
+ "id": 83,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "jvm_buffer_memory_used_bytes{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", id=\"mapped\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Used Bytes",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "jvm_buffer_total_capacity_bytes{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", id=\"mapped\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Capacity Bytes",
+ "refId": "B"
+ }
+ ],
+ "title": "Mapped Buffers",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 46
+ },
+ "id": 68,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "jvm_threads_daemon_threads{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Daemon",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "jvm_threads_live_threads{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Live",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "jvm_threads_peak_threads{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Peak",
+ "refId": "C"
+ }
+ ],
+ "title": "Threads",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 46
+ },
+ "id": 78,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "irate(jvm_gc_memory_allocated_bytes_total{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "allocated",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "irate(jvm_gc_memory_promoted_bytes_total{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "promoted",
+ "refId": "B"
+ }
+ ],
+ "title": "Memory Allocate/Promote",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 54
+ },
+ "id": 72,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "JVM Statistics - GC",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "locale"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 55
+ },
+ "id": 74,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max",
+ "min",
+ "sum"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "irate(jvm_gc_pause_seconds_count{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{action}} [{{cause}}]",
+ "refId": "A"
+ }
+ ],
+ "title": "GC Count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 55
+ },
+ "id": 76,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max",
+ "min",
+ "sum"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "irate(jvm_gc_pause_seconds_sum{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{action}} [{{cause}}]",
+ "refId": "A"
+ }
+ ],
+ "title": "GC Stop the World Duration",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 65
+ },
+ "id": 34,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "HikariCP Statistics",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 66
+ },
+ "id": 44,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "hikaricp_connections{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", pool=\"$hikaricp\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Connections Size",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 20,
+ "x": 4,
+ "y": 66
+ },
+ "id": 36,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "hikaricp_connections_active{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", pool=\"$hikaricp\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Active",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "hikaricp_connections_idle{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", pool=\"$hikaricp\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Idle",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "hikaricp_connections_pending{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", pool=\"$hikaricp\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Pending",
+ "refId": "C"
+ }
+ ],
+ "title": "Connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 70
+ },
+ "id": 46,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "hikaricp_connections_timeout_total{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", pool=\"$hikaricp\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Connection Timeout Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 0,
+ "y": 74
+ },
+ "id": 38,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "hikaricp_connections_creation_seconds_sum{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", pool=\"$hikaricp\"} / hikaricp_connections_creation_seconds_count{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", pool=\"$hikaricp\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Creation Time",
+ "refId": "A"
+ }
+ ],
+ "title": "Connection Creation Time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 8,
+ "y": 74
+ },
+ "id": 42,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "hikaricp_connections_usage_seconds_sum{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", pool=\"$hikaricp\"} / hikaricp_connections_usage_seconds_count{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", pool=\"$hikaricp\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Usage Time",
+ "refId": "A"
+ }
+ ],
+ "title": "Connection Usage Time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 74
+ },
+ "id": 40,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "hikaricp_connections_acquire_seconds_sum{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", pool=\"$hikaricp\"} / hikaricp_connections_acquire_seconds_count{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", pool=\"$hikaricp\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Acquire Time",
+ "refId": "A"
+ }
+ ],
+ "title": "Connection Acquire Time",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 80
+ },
+ "id": 18,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "HTTP Statistics",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 81
+ },
+ "id": 4,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "irate(http_server_requests_seconds_count{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", uri!~\".*actuator.*\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{method}} [{{status}}] - {{uri}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Request Count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 88
+ },
+ "id": 2,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "irate(http_server_requests_seconds_sum{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", exception=~\"[n|N]one\", uri!~\".*actuator.*\"}[$__rate_interval]) / irate(http_server_requests_seconds_count{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", exception=~\"[n|N]one\", uri!~\".*actuator.*\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{method}} [{{status}}] - {{uri}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Response Time",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 95
+ },
+ "id": 22,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Tomcat Statistics",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "locale"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 96
+ },
+ "id": 28,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "tomcat_global_error_total{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Error Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 9,
+ "x": 4,
+ "y": 96
+ },
+ "id": 24,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "tomcat_sessions_active_current_sessions{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "active sessions",
+ "refId": "A"
+ }
+ ],
+ "title": "Active Sessions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 11,
+ "x": 13,
+ "y": 96
+ },
+ "id": 26,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "irate(tomcat_global_sent_bytes_total{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Sent Bytes",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "irate(tomcat_global_received_bytes_total{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Recieved Bytes",
+ "refId": "B"
+ }
+ ],
+ "title": "Sent & Recieved Bytes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "locale"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 100
+ },
+ "id": 32,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "tomcat_threads_config_max_threads{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Thread Config Max",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 103
+ },
+ "id": 30,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "tomcat_threads_current_threads{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Current thread",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "tomcat_threads_busy{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Current thread busy",
+ "refId": "B"
+ }
+ ],
+ "title": "Threads",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 110
+ },
+ "id": 8,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "grafanacloud-prom"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Logback Statistics",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 111
+ },
+ "id": 6,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min",
+ "sum"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "alias": "",
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "irate(logback_events_total{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", level=\"info\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "info",
+ "rawSql": "SELECT\n $__time(time_column),\n value1\nFROM\n metric_table\nWHERE\n $__timeFilter(time_column)\n",
+ "refId": "A"
+ }
+ ],
+ "title": "INFO logs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 111
+ },
+ "id": 10,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min",
+ "sum"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "alias": "",
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "irate(logback_events_total{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", level=\"error\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "error",
+ "rawSql": "SELECT\n $__time(time_column),\n value1\nFROM\n metric_table\nWHERE\n $__timeFilter(time_column)\n",
+ "refId": "A"
+ }
+ ],
+ "title": "ERROR logs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 118
+ },
+ "id": 14,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min",
+ "sum"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "alias": "",
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "irate(logback_events_total{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", level=\"warn\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "warn",
+ "rawSql": "SELECT\n $__time(time_column),\n value1\nFROM\n metric_table\nWHERE\n $__timeFilter(time_column)\n",
+ "refId": "A"
+ }
+ ],
+ "title": "WARN logs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 118
+ },
+ "id": 16,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min",
+ "sum"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "alias": "",
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "irate(logback_events_total{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", level=\"debug\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "debug",
+ "rawSql": "SELECT\n $__time(time_column),\n value1\nFROM\n metric_table\nWHERE\n $__timeFilter(time_column)\n",
+ "refId": "A"
+ }
+ ],
+ "title": "DEBUG logs",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 118
+ },
+ "id": 20,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min",
+ "sum"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.2",
+ "targets": [
+ {
+ "alias": "",
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "irate(logback_events_total{instance=~\"$instance\", job=~\"$job\", application=~\"$application\", level=\"trace\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "trace",
+ "rawSql": "SELECT\n $__time(time_column),\n value1\nFROM\n metric_table\nWHERE\n $__timeFilter(time_column)\n",
+ "refId": "A"
+ }
+ ],
+ "title": "TRACE logs",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": [ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(jvm_classes_loaded_classes, job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(jvm_classes_loaded_classes, job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(jvm_classes_loaded_classes{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Application",
+ "multi": true,
+ "name": "application",
+ "options": [ ],
+ "query": "label_values(jvm_classes_loaded_classes{instance=~\"$instance\", job=~\"$job\"}, application)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "HikariCP-Pool",
+ "multi": true,
+ "name": "hikaricp",
+ "options": [ ],
+ "query": "label_values(hikaricp_connections{instance=~\"$instance\", job=~\"$job\", application=~\"$application\"}, pool)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Memory Pool (heap)",
+ "multi": true,
+ "name": "memory_pool_heap",
+ "options": [ ],
+ "query": "label_values(jvm_memory_used_bytes{application=~\"$application\", instance=~\"$instance\", job=~\"$job\", area=\"heap\"},id)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Memory Pool (nonheap)",
+ "multi": true,
+ "name": "memory_pool_nonheap",
+ "options": [ ],
+ "query": "label_values(jvm_memory_used_bytes{application=~\"$application\", instance=~\"$instance\", job=~\"$job\", area=\"nonheap\"},id)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Spring Boot Statistics",
+ "uid": "20201230-spring",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/spring-boot/rules.yaml b/assets/spring-boot/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/spring-boot/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/squid/alerts.yaml b/assets/squid/alerts.yaml
new file mode 100644
index 0000000..89f630a
--- /dev/null
+++ b/assets/squid/alerts.yaml
@@ -0,0 +1,53 @@
+groups:
+- name: squid
+ rules:
+ - alert: SquidHighPercentageOfHTTPServerRequestErrors
+ annotations:
+ description: |
+ The percentage of HTTP server request errors is {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} which is above the threshold of 5.
+ summary: There are a high number of HTTP server errors.
+ expr: |
+ rate(squid_server_http_errors_total[5m]) / clamp_min(rate(squid_server_http_requests_total[5m]),1) * 100 > 5
+ for: 5m
+ labels:
+ severity: critical
+ - alert: SquidHighPercentageOfFTPServerRequestErrors
+ annotations:
+ description: |
+ The percentage of FTP server request errors is {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} which is above the threshold of 5.
+ summary: There are a high number of FTP server request errors.
+ expr: |
+ rate(squid_server_ftp_errors_total[5m]) / clamp_min(rate(squid_server_ftp_requests_total[5m]),1) * 100 > 5
+ for: 5m
+ labels:
+ severity: critical
+ - alert: SquidHighPercentageOfOtherServerRequestErrors
+ annotations:
+ description: |
+ The percentage of other server request errors is {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} which is above the threshold of 5.
+ summary: There are a high number of other server request errors.
+ expr: |
+ rate(squid_server_other_errors_total[5m]) / clamp_min(rate(squid_server_other_requests_total[5m]),1) * 100 > 5
+ for: 5m
+ labels:
+ severity: critical
+ - alert: SquidHighPercentageOfClientRequestErrors
+ annotations:
+ description: |
+ The percentage of HTTP client request errors is {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} which is above the threshold of 5.
+ summary: There are a high number of HTTP client request errors.
+ expr: |
+ rate(squid_client_http_errors_total[5m]) / clamp_min(rate(squid_client_http_requests_total[5m]),1) * 100 > 5
+ for: 5m
+ labels:
+ severity: critical
+ - alert: SquidLowCacheHitRatio
+ annotations:
+ description: |
+ The cache hit ratio is {{ printf "%.0f" $value }} over the last 10m on {{ $labels.instance }} which is below the threshold of 85.
+ summary: The cache hit ratio has fallen below the configured threshold (%).
+ expr: |
+ rate(squid_client_http_hits_total[10m]) / clamp_min(rate(squid_client_http_requests_total[10m]),1) * 100 < 85
+ for: 10m
+ labels:
+ severity: warning
diff --git a/assets/squid/dashboards/squid-overview.json b/assets/squid/dashboards/squid-overview.json
new file mode 100644
index 0000000..02f3d4a
--- /dev/null
+++ b/assets/squid/dashboards/squid-overview.json
@@ -0,0 +1,1748 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [ ],
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "targets": [ ],
+ "title": "Client",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The request rate of client.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 1
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_client_http_requests_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Client requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of client HTTP errors.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "errors/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 1
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_client_http_errors_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Client request errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The client cache hit ratio.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 1
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "(rate(squid_client_http_hits_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) / clamp_min(rate(squid_client_http_requests_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]),1)) * 100",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Client cache hit ratio",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The throughput of client HTTP data sent.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "KBs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 9
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_client_http_kbytes_out_kbytes_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Client request sent throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The throughput of client HTTP data received.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "KBs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 9
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_client_http_kbytes_in_kbytes_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Client HTTP received throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The throughput of client cache hit.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "KBs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 9
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_client_http_hit_kbytes_out_bytes_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Client cache hit throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "HTTP request service time percentiles.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 16
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "squid_HTTP_Requests_All_50{job=~\"$job\", instance=~\"$instance\"} ",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "50%"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "squid_HTTP_Requests_All_75{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "75%"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "squid_HTTP_Requests_All_95{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "95%"
+ }
+ ],
+ "title": "HTTP request service time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Cache hits service time percentiles.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 16
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "squid_Cache_Hits_50{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "50%"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "squid_Cache_Hits_75{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "75%"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "squid_Cache_Hits_95{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "95%"
+ }
+ ],
+ "title": "Cache hit service time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Cache misses service time percentiles.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 16
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "squid_Cache_Misses_50{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "50%"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "squid_Cache_Misses_75{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "75%"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "squid_Cache_Misses_95{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "95%"
+ }
+ ],
+ "title": "Cache misses service time",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 23
+ },
+ "id": 12,
+ "targets": [ ],
+ "title": "Server",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of HTTP, FTP, and other server requests.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 24
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_server_ftp_requests_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "FTP"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_server_http_requests_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "HTTP"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_server_other_requests_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "other"
+ }
+ ],
+ "title": "Server requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of HTTP, FTP, and other server request errors.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "errors/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 24
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_server_ftp_errors_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "FTP"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_server_http_errors_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "HTTP"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_server_other_errors_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "other"
+ }
+ ],
+ "title": "Server request errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of HTTP, FTP, and other server sent throughput.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "KBs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 24
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_server_ftp_kbytes_out_kbytes_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "FTP"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_server_http_kbytes_out_kbytes_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "HTTP"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_server_other_kbytes_out_kbytes_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "other"
+ }
+ ],
+ "title": "Server request sent throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of objects read from disk and the number of objects saved to disk.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "cps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 32
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_swap_ins_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - read"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_swap_outs_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - saved"
+ }
+ ],
+ "title": "Server object swap",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "DNS lookup service time percentiles",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 32
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "squid_DNS_Lookups_50{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "50%"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "squid_DNS_Lookups_75{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "75%"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "squid_DNS_Lookups_95{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "95%"
+ }
+ ],
+ "title": "DNS lookup service time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The number of HTTP, FTP, and other server throughput.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "KBs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 32
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_server_ftp_kbytes_in_kbytes_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "FTP"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_server_http_kbytes_in_kbytes_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "HTTP"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(squid_server_other_kbytes_in_kbytes_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "other"
+ }
+ ],
+ "title": "Server received throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "The log file that contains the debug and error messages that Squid generates.",
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 40
+ },
+ "id": 19,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{filename=\"/var/log/squid/cache.log\", job=~\"$job\", instance=~\"$instance\"} |= ``",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Cache logs",
+ "type": "logs"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "The log file that contains a record of all HTTP requests and responses processed by the Squid proxy server.",
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 46
+ },
+ "id": 20,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{filename=\"/var/log/squid/access.log\", job=~\"$job\", instance=~\"$instance\"} |= ``",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Access logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "squid"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki Datasource",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(squid_server_http_requests_total{}, job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": false,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(squid_server_http_requests_total{job=~\"$job\"},instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Squid overview",
+ "uid": "squid-overview",
+ "version": 0
+}
diff --git a/assets/squid/rules.yaml b/assets/squid/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/squid/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/supabase/alerts.yaml b/assets/supabase/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/supabase/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/supabase/dashboards/supabase.json b/assets/supabase/dashboards/supabase.json
new file mode 100644
index 0000000..554c880
--- /dev/null
+++ b/assets/supabase/dashboards/supabase.json
@@ -0,0 +1,25331 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "grafana",
+ "uid": "-- Grafana --"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 14,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 261,
+ "panels": [ ],
+ "title": "Quick CPU / Mem / Disk",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Busy state of all CPU cores together",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 85
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 95
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 0,
+ "y": 1
+ },
+ "id": 20,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true,
+ "sizing": "auto"
+ },
+ "pluginVersion": "10.4.0-66955",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "(((count(count(node_cpu_seconds_total{supabase_project_ref=\"$project\"}) by (cpu))) - avg(sum by (mode)(rate(node_cpu_seconds_total{mode='idle',supabase_project_ref=\"$project\"}[$__rate_interval])))) * 100) / count(count(node_cpu_seconds_total{supabase_project_ref=\"$project\"}) by (cpu))",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "CPU Busy",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Busy state of all CPU cores together (5 min average)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 85
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 95
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 3,
+ "y": 1
+ },
+ "id": 155,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true,
+ "sizing": "auto"
+ },
+ "pluginVersion": "10.4.0-66955",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "avg(node_load5{supabase_project_ref=~\"$project\"}) / count(count(node_cpu_seconds_total{supabase_project_ref=~\"$project\"}) by (cpu)) * 100",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Sys Load (5m avg)",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Busy state of all CPU cores together (15 min average)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 85
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 95
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 6,
+ "y": 1
+ },
+ "id": 19,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true,
+ "sizing": "auto"
+ },
+ "pluginVersion": "10.4.0-66955",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "avg(node_load15{supabase_project_ref=~\"$project\"}) / count(count(node_cpu_seconds_total{supabase_project_ref=~\"$project\"}) by (cpu)) * 100",
+ "hide": false,
+ "intervalFactor": 1,
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Sys Load (15m avg)",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Non available RAM memory",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 80
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 9,
+ "y": 1
+ },
+ "hideTimeOverride": false,
+ "id": 16,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true,
+ "sizing": "auto"
+ },
+ "pluginVersion": "10.4.0-66955",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "((node_memory_MemTotal_bytes{supabase_project_ref=~\"$project\"} - node_memory_MemFree_bytes{supabase_project_ref=~\"$project\"}) / (node_memory_MemTotal_bytes{supabase_project_ref=~\"$project\"} )) * 100",
+ "format": "time_series",
+ "hide": true,
+ "intervalFactor": 1,
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "100 - ((node_memory_MemAvailable_bytes{supabase_project_ref=~\"$project\"} * 100) / node_memory_MemTotal_bytes{supabase_project_ref=~\"$project\"})",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "RAM Used",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Used Swap",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 10
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 25
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 12,
+ "y": 1
+ },
+ "id": 21,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true,
+ "sizing": "auto"
+ },
+ "pluginVersion": "10.4.0-66955",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "((node_memory_SwapTotal_bytes{supabase_project_ref=~\"$project\"} - node_memory_SwapFree_bytes{supabase_project_ref=~\"$project\"}) / (node_memory_SwapTotal_bytes{supabase_project_ref=~\"$project\"} )) * 100",
+ "intervalFactor": 1,
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "SWAP Used",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Used Root FS",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 80
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 15,
+ "y": 1
+ },
+ "id": 154,
+ "options": {
+ "minVizHeight": 75,
+ "minVizWidth": 75,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true,
+ "sizing": "auto"
+ },
+ "pluginVersion": "10.4.0-66955",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "100 - ((node_filesystem_avail_bytes{supabase_project_ref=~\"$project\",mountpoint=\"/\",fstype!=\"rootfs\"} * 100) / node_filesystem_size_bytes{supabase_project_ref=~\"$project\",mountpoint=\"/\",fstype!=\"rootfs\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Root FS Used",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Total number of CPU cores",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 2,
+ "x": 18,
+ "y": 1
+ },
+ "id": 14,
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.4.0-66955",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "count(count(node_cpu_seconds_total{supabase_project_ref=~\"$project\"}) by (cpu))",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "CPU Cores",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "System uptime",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 2,
+ "x": 20,
+ "y": 1
+ },
+ "hideTimeOverride": true,
+ "id": 15,
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.4.0-66955",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "node_time_seconds{supabase_project_ref=~\"$project\"} - node_boot_time_seconds{supabase_project_ref=~\"$project\"}",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Uptime",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Total SWAP",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 2,
+ "x": 22,
+ "y": 1
+ },
+ "id": 18,
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.4.0-66955",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_SwapTotal_bytes{supabase_project_ref=~\"$project\"}",
+ "intervalFactor": 1,
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "SWAP Total",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Total RootFS",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 70
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 2,
+ "x": 18,
+ "y": 3
+ },
+ "id": 23,
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.4.0-66955",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "node_filesystem_size_bytes{supabase_project_ref=~\"$project\",mountpoint=\"/\",fstype!=\"rootfs\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "RootFS Total",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Total data disk capacity",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 70
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 2,
+ "x": 20,
+ "y": 3
+ },
+ "id": 322,
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.4.0-66955",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "node_filesystem_size_bytes{supabase_project_ref=~\"$project\",mountpoint=\"/data\",fstype!=\"rootfs\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "queryType": "measurements",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Data Disk Total",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Total RAM",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 2,
+ "x": 22,
+ "y": 3
+ },
+ "id": 75,
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.4.0-66955",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_MemTotal_bytes{supabase_project_ref=~\"$project\"}",
+ "intervalFactor": 1,
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "RAM Total",
+ "type": "stat"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 5
+ },
+ "id": 263,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Basic CPU info",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Busy"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Busy Iowait"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Busy other"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#1F78C1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Idle"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Idle - Waiting for something to happen"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "guest"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "idle"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "iowait"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "irq"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "nice"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "softirq"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "steal"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCE2DE",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "system"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "user"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#5195CE",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Busy Iowait"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Idle"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Busy System"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Busy User"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Busy Other"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 2
+ },
+ "id": 77,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 250
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (instance)(rate(node_cpu_seconds_total{mode=\"system\",supabase_project_ref=~\"$project\"}[$__rate_interval])) * 100",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Busy System",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (instance)(rate(node_cpu_seconds_total{mode='user',supabase_project_ref=~\"$project\"}[$__rate_interval])) * 100",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Busy User",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "sum by (instance)(rate(node_cpu_seconds_total{mode='iowait',supabase_project_ref=\"$project\"}[$__rate_interval])) * 100",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Busy Iowait",
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "sum by (instance)(rate(node_cpu_seconds_total{mode=~\".*irq\",supabase_project_ref=\"$project\"}[$__rate_interval])) * 100",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Busy IRQs",
+ "refId": "D",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "sum (rate(node_cpu_seconds_total{mode!='idle',mode!='user',mode!='system',mode!='iowait',mode!='irq',mode!='softirq',supabase_project_ref=\"$project\"}[$__rate_interval])) * 100",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Busy Other",
+ "refId": "E",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "sum by (mode)(rate(node_cpu_seconds_total{mode='idle',supabase_project_ref=\"$project\"}[$__rate_interval])) * 100",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Idle",
+ "refId": "F",
+ "step": 240
+ }
+ ],
+ "title": "CPU Basic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Basic memory usage",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "SWAP Used"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap Used"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ },
+ {
+ "id": "custom.stacking",
+ "value": {
+ "group": "A",
+ "mode": "none"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM Cache + Buffer"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Avaliable"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#DEDAF7",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ },
+ {
+ "id": "custom.stacking",
+ "value": {
+ "group": "A",
+ "mode": "none"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 2
+ },
+ "id": 78,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_MemTotal_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "RAM Total",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_MemTotal_bytes{supabase_project_ref=~\"$project\"} - node_memory_MemFree_bytes{supabase_project_ref=~\"$project\"} - (node_memory_Cached_bytes{supabase_project_ref=~\"$project\"} + node_memory_Buffers_bytes{supabase_project_ref=~\"$project\"})",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "RAM Used",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "node_memory_Cached_bytes{supabase_project_ref=\"$project\"} + node_memory_Buffers_bytes{supabase_project_ref=\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "RAM Cache + Buffer",
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_MemFree_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "RAM Free",
+ "range": true,
+ "refId": "D",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "(node_memory_SwapTotal_bytes{supabase_project_ref=~\"$project\"} - node_memory_SwapFree_bytes{supabase_project_ref=~\"$project\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "SWAP Used",
+ "range": true,
+ "refId": "E",
+ "step": 240
+ }
+ ],
+ "title": "Memory Basic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Basic network info per interface",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Recv_bytes_eth2"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Recv_bytes_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Recv_drop_eth2"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Recv_drop_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Recv_errs_eth2"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Recv_errs_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CCA300",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Trans_bytes_eth2"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Trans_bytes_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Trans_drop_eth2"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Trans_drop_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Trans_errs_eth2"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Trans_errs_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CCA300",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "recv_bytes_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "recv_drop_eth0"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "recv_drop_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#967302",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "recv_errs_eth0"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "recv_errs_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "trans_bytes_eth0"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "trans_bytes_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "trans_drop_eth0"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "trans_drop_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#967302",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "trans_errs_eth0"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "trans_errs_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 9
+ },
+ "id": 74,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_network_receive_bytes_total{supabase_project_ref=~\"$project\"}[$__rate_interval])*8",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "recv {{device}}",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_network_transmit_bytes_total{supabase_project_ref=~\"$project\"}[$__rate_interval])*8",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "trans {{device}} ",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic Basic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Disk space used of all filesystems mounted",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "EBS Balance"
+ },
+ "properties": [
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 9
+ },
+ "id": 152,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "100 - ((node_filesystem_avail_bytes{supabase_project_ref=~\"$project\",device!~'rootfs'} * 100) / node_filesystem_size_bytes{supabase_project_ref=~\"$project\",device!~'rootfs'})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Disk mounted at {{mountpoint}}",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Disk Space Used, EBS IO Balance",
+ "type": "timeseries"
+ }
+ ],
+ "title": "Basic CPU / Mem / Net / Disk",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 6
+ },
+ "id": 317,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Disk space used by the database",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 100,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decmbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 3
+ },
+ "id": 321,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "pg_database_size_mb{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Database size",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Database size ",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Active number of client connections",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 20,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "pgbouncer client connections waiting"
+ },
+ "properties": [
+ {
+ "id": "custom.axisPlacement",
+ "value": "right"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 9,
+ "x": 12,
+ "y": 3
+ },
+ "id": 323,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "pg_stat_database_num_backends{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "postgres connections",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "sum(supavisor_connections_active{supabase_project_ref=~\"$project\"})",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "supavisor connections",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "pgbouncer_used_clients{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "pgbouncer connections",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "sum by (Name) (pgbouncer_pools_client_waiting_connections{supabase_project_ref=~\"$project\"})",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "pgbouncer client connections waiting",
+ "range": true,
+ "refId": "D",
+ "step": 240
+ }
+ ],
+ "title": "Client connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Postgres status",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Stopped"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Running"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 3
+ },
+ "id": 319,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.4.0-66955",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "pg_up{supabase_project_ref=~\"$project\"}",
+ "interval": "",
+ "legendFormat": "",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Postgres status",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "pgbouncer status",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Stopped"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Running"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 6
+ },
+ "id": 341,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.4.0-66955",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "pgbouncer_up{supabase_project_ref=~\"$project\"}",
+ "interval": "",
+ "legendFormat": "",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "pgbouncer status",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Query stats",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 5,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total time spent"
+ },
+ "properties": [
+ {
+ "id": "custom.axisPlacement",
+ "value": "right"
+ },
+ {
+ "id": "unit",
+ "value": "s"
+ },
+ {
+ "id": "custom.axisSoftMax"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 7,
+ "x": 0,
+ "y": 9
+ },
+ "id": 330,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(supabase_usage_metrics_user_queries_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "No. of user queries",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_statements_total_queries{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Total no. of queries",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_statements_total_time_seconds{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Total time spent",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "Query stats",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "postgres stats",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 5,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Deadlocks detected"
+ },
+ "properties": [
+ {
+ "id": "custom.axisPlacement",
+ "value": "right"
+ },
+ {
+ "id": "custom.axisSoftMax",
+ "value": 25
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 7,
+ "x": 7,
+ "y": 9
+ },
+ "id": 342,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_database_xact_commit_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Tx committed",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_database_xact_rollback_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Tx rolled back",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_database_deadlocks_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Deadlocks detected",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "pg stats",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Conflicts - Queries cancelled due to",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 5,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total time spent"
+ },
+ "properties": [
+ {
+ "id": "custom.axisPlacement",
+ "value": "right"
+ },
+ {
+ "id": "unit",
+ "value": "s"
+ },
+ {
+ "id": "custom.axisSoftMax"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 7,
+ "x": 14,
+ "y": 9
+ },
+ "id": 331,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_database_conflicts_confl_tablespace_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Dropped tablespaces",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_database_conflicts_confl_lock_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Lock timeouts",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_database_conflicts_confl_snapshot_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Old Snapshots",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_database_conflicts_confl_bufferpin_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Pinned buffers",
+ "range": true,
+ "refId": "D",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_database_conflicts_confl_deadlock_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Deadlocks",
+ "range": true,
+ "refId": "E",
+ "step": 240
+ }
+ ],
+ "title": "Conflicts - Queries cancelled due to",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "DB Mode",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "green",
+ "index": 0,
+ "text": "ReadWrite"
+ },
+ "1": {
+ "color": "red",
+ "index": 1,
+ "text": "ReadOnly"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "noValue": "N/A",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "green",
+ "value": 0
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 9
+ },
+ "id": 324,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "limit": 2,
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.4.0-66955",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "pg_settings_default_transaction_read_only{supabase_project_ref=~\"$project\"}",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "DB Mode",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "In Recovery",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "green",
+ "index": 0,
+ "text": "No"
+ },
+ "1": {
+ "color": "red",
+ "index": 1,
+ "text": "Yes"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "noValue": "N/A",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "green",
+ "value": 0
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 12
+ },
+ "id": 325,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.4.0-66955",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "pg_status_in_recovery{supabase_project_ref=~\"$project\"}",
+ "interval": "",
+ "legendFormat": "",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "In Recovery",
+ "type": "stat"
+ }
+ ],
+ "title": "Postgres",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 337,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Realtime replication status",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "red",
+ "index": 1,
+ "text": "Inactive"
+ },
+ "1": {
+ "color": "green",
+ "index": 0,
+ "text": "Active"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "noValue": "N/A",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 4
+ },
+ "id": 328,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.4.0-66955",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "replication_realtime_slot_status{supabase_project_ref=~\"$project\"}",
+ "interval": "",
+ "legendFormat": "",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Realtime replication status",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Realtime replication lag",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 20,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 7,
+ "x": 3,
+ "y": 4
+ },
+ "id": 329,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "replication_realtime_lag_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Replication lag ",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Realtime replication lag",
+ "type": "timeseries"
+ }
+ ],
+ "title": "Postgres: realtime",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 8
+ },
+ "id": 335,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "bgwriter stats: checkpoints",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 5,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^Time spent/"
+ },
+ "properties": [
+ {
+ "id": "custom.axisPlacement",
+ "value": "right"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 5
+ },
+ "id": 332,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_bgwriter_checkpoints_timed_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Scheduled checkpoints",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_bgwriter_checkpoints_req_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Requested checkpoints",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_bgwriter_checkpoint_write_time_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Time spent writing checkpoint files",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_bgwriter_checkpoint_sync_time_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Time spent synchronizing checkpoint files",
+ "range": true,
+ "refId": "D",
+ "step": 240
+ }
+ ],
+ "title": "bgwriter stats: checkpoints",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "bgwriter stats: buffers",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 5,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Allocated"
+ },
+ "properties": [
+ {
+ "id": "custom.axisPlacement",
+ "value": "right"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 5
+ },
+ "id": 333,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_bgwriter_buffers_checkpoint_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Written during checkpoints",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_bgwriter_buffers_clean_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Written by bgwriter",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_bgwriter_buffers_backend_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Written by a backend",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_bgwriter_buffers_alloc_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Allocated",
+ "range": true,
+ "refId": "D",
+ "step": 240
+ }
+ ],
+ "title": "bgwriter stats: buffers",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "bgwriter: fsync/clean",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 5,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Backend fsync calls"
+ },
+ "properties": [
+ {
+ "id": "custom.axisPlacement",
+ "value": "right"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 5
+ },
+ "id": 340,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_bgwriter_maxwritten_clean_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "No. of times clean stopped due to writing too many buffers",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "rate(pg_stat_bgwriter_buffers_backend_fsync_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Fsync calls by backend",
+ "range": true,
+ "refId": "D",
+ "step": 240
+ }
+ ],
+ "title": "bgwriter: fsync/clean",
+ "type": "timeseries"
+ }
+ ],
+ "title": "Postgres: bgwriter",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 9
+ },
+ "id": 265,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "CPU",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "percentage",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Idle - Waiting for something to happen"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "guest"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "idle"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "iowait"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "irq"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "nice"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "softirq"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "steal"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCE2DE",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "system"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "user"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#5195CE",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 250
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (mode)(rate(node_cpu_seconds_total{mode=\"system\",supabase_project_ref=~\"$project\"}[$__rate_interval])) * 100",
+ "format": "time_series",
+ "interval": "10s",
+ "intervalFactor": 1,
+ "legendFormat": "System - Processes executing in kernel mode",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (mode)(rate(node_cpu_seconds_total{mode='user',supabase_project_ref=~\"$project\"}[$__rate_interval])) * 100",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "User - Normal processes executing in user mode",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (mode)(rate(node_cpu_seconds_total{mode='nice',supabase_project_ref=~\"$project\"}[$__rate_interval])) * 100",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Nice - Niced processes executing in user mode",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (mode)(rate(node_cpu_seconds_total{mode='idle',supabase_project_ref=~\"$project\"}[$__rate_interval])) * 100",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Idle - Waiting for something to happen",
+ "range": true,
+ "refId": "D",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (mode)(rate(node_cpu_seconds_total{mode='iowait',supabase_project_ref=~\"$project\"}[$__rate_interval])) * 100",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Iowait - Waiting for I/O to complete",
+ "range": true,
+ "refId": "E",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (mode)(rate(node_cpu_seconds_total{mode='irq',supabase_project_ref=~\"$project\"}[$__rate_interval])) * 100",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Irq - Servicing interrupts",
+ "range": true,
+ "refId": "F",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (mode)(rate(node_cpu_seconds_total{mode='softirq',supabase_project_ref=~\"$project\"}[$__rate_interval])) * 100",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Softirq - Servicing softirqs",
+ "range": true,
+ "refId": "G",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (mode)(rate(node_cpu_seconds_total{mode='steal',supabase_project_ref=~\"$project\"}[$__rate_interval])) * 100",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Steal - Time spent in other operating systems when running in a virtualized environment",
+ "range": true,
+ "refId": "H",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (mode)(rate(node_cpu_seconds_total{mode='guest',supabase_project_ref=~\"$project\"}[$__rate_interval])) * 100",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Guest - Time spent running a virtual CPU for a guest operating system",
+ "range": true,
+ "refId": "I",
+ "step": 240
+ }
+ ],
+ "title": "CPU",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory Stack",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap - Swap memory usage"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused - Free memory unassigned"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Hardware Corrupted - *./"
+ },
+ "properties": [
+ {
+ "id": "custom.stacking",
+ "value": {
+ "group": "A",
+ "mode": "none"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 24,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_MemTotal_bytes{supabase_project_ref=~\"$project\"} - node_memory_MemFree_bytes{supabase_project_ref=~\"$project\"} - node_memory_Buffers_bytes{supabase_project_ref=~\"$project\"} - node_memory_Cached_bytes{supabase_project_ref=~\"$project\"} - node_memory_Slab_bytes{supabase_project_ref=~\"$project\"} - node_memory_PageTables_bytes{supabase_project_ref=~\"$project\"} - node_memory_SwapCached_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Apps - Memory used by user-space applications",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "node_memory_PageTables_bytes{supabase_project_ref=\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "PageTables - Memory used to map between virtual and physical memory addresses",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "node_memory_SwapCached_bytes{supabase_project_ref=\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "SwapCache - Memory that keeps track of pages that have been fetched from swap but not yet been modified",
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "node_memory_Slab_bytes{supabase_project_ref=\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Slab - Memory used by the kernel to cache data structures for its own use (caches like inode, dentry, etc)",
+ "refId": "D",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "node_memory_Cached_bytes{supabase_project_ref=\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Cache - Parked file data (file content) cache",
+ "refId": "E",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "node_memory_Buffers_bytes{supabase_project_ref=\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Buffers - Block device (e.g. harddisk) cache",
+ "refId": "F",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "node_memory_MemFree_bytes{supabase_project_ref=\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Unused - Free memory unassigned",
+ "refId": "G",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "(node_memory_SwapTotal_bytes{supabase_project_ref=\"$project\"} - node_memory_SwapFree_bytes{supabase_project_ref=\"$project\"})",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Swap - Swap space used",
+ "refId": "H",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "node_memory_HardwareCorrupted_bytes{supabase_project_ref=\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working",
+ "refId": "I",
+ "step": 240
+ }
+ ],
+ "title": "Memory Stack",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Network Traffic",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bits out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "receive_packets_eth0"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "receive_packets_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "transmit_packets_eth0"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "transmit_packets_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 12,
+ "x": 0,
+ "y": 18
+ },
+ "id": 84,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_network_receive_bytes_total{supabase_project_ref=~\"$project\"}[$__rate_interval])*8",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Receive",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_network_transmit_bytes_total{supabase_project_ref=~\"$project\"}[$__rate_interval])*8",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Transmit",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Disk Space Used",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 156,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_filesystem_size_bytes{supabase_project_ref=~\"$project\",device!~'rootfs'} - node_filesystem_avail_bytes{supabase_project_ref=~\"$project\",device!~'rootfs'}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{mountpoint}}",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Disk Space Used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Disk IOps",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "IO read (-) / write (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Read.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda2_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda3_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F4D598",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#962D82",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#65C5DB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9934E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCEACA",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9E2D2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 12,
+ "x": 0,
+ "y": 30
+ },
+ "id": 229,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_reads_completed_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Reads completed",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_writes_completed_total{supabase_project_ref=\"$project\"}[$__rate_interval])",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Writes completed",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Disk IOps",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "I/O Usage Read / Write",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes read (-) / write (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "io time"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*read*./"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byType",
+ "options": "time"
+ },
+ "properties": [
+ {
+ "id": "custom.axisPlacement",
+ "value": "hidden"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 12,
+ "x": 12,
+ "y": 30
+ },
+ "id": 42,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_read_bytes_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Successfully read bytes",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_written_bytes_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Successfully written bytes",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "I/O Usage Read / Write",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "I/O Utilization",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "%util",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "io time"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byType",
+ "options": "time"
+ },
+ "properties": [
+ {
+ "id": "custom.axisPlacement",
+ "value": "hidden"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 42
+ },
+ "id": 127,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_io_time_seconds_total{supabase_project_ref=~\"$project\"} [$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}}",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "I/O Utilization",
+ "type": "timeseries"
+ }
+ ],
+ "title": "CPU / Memory / Net / Disk",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 10
+ },
+ "id": 266,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory Active / Inactive",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 7
+ },
+ "id": 136,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_Inactive_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Inactive - Memory which has been less recently used. It is more eligible to be reclaimed for other purposes",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_Active_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Active - Memory that has been used more recently and usually not reclaimed unless absolutely necessary",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Memory Active / Inactive",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory Commited",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*CommitLimit - *./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 7
+ },
+ "id": 135,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_Committed_AS_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Committed_AS - Amount of memory presently allocated on the system",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_CommitLimit_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "CommitLimit - Amount of memory currently available to be allocated on the system",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Memory Commited",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory Active / Inactive Detail",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 17
+ },
+ "id": 191,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_Inactive_file_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Inactive_file - File-backed memory on inactive LRU list",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_Inactive_anon_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Inactive_anon - Anonymous and swap cache on inactive LRU list, including tmpfs (shmem)",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_Active_file_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Active_file - File-backed memory on active LRU list",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_Active_anon_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Active_anon - Anonymous and swap cache on active least-recently-used (LRU) list, including tmpfs",
+ "range": true,
+ "refId": "D",
+ "step": 240
+ }
+ ],
+ "title": "Memory Active / Inactive Detail",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory Writeback and Dirty",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dirty"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#B7DBAB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mapped"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM + Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "VmallocUsed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 17
+ },
+ "id": 130,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_Writeback_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Writeback - Memory which is actively being written back to disk",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_WritebackTmp_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "WritebackTmp - Memory used by FUSE for temporary writeback buffers",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_Dirty_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Dirty - Memory which is waiting to get written back to the disk",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "Memory Writeback and Dirty",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory Shared and Mapped",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ShmemHugePages - Memory used by shared memory (shmem) and tmpfs allocated with huge pages"
+ },
+ "properties": [
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ShmemHugePages - Memory used by shared memory (shmem) and tmpfs allocated with huge pages"
+ },
+ "properties": [
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 27
+ },
+ "id": 138,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_Mapped_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Mapped - Used memory in mapped pages files which have been mmaped, such as libraries",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_Shmem_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Shmem - Used shared memory (shared between several processes, thus including RAM disks)",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_ShmemHugePages_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "ShmemHugePages - Memory used by shared memory (shmem) and tmpfs allocated with huge pages",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_ShmemPmdMapped_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "ShmemPmdMapped - Ammount of shared (shmem/tmpfs) memory backed by huge pages",
+ "range": true,
+ "refId": "D",
+ "step": 240
+ }
+ ],
+ "title": "Memory Shared and Mapped",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory Slab",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dirty"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#B7DBAB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mapped"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM + Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "VmallocUsed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 27
+ },
+ "id": 131,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_SUnreclaim_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "SUnreclaim - Part of Slab, that cannot be reclaimed on memory pressure",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_SReclaimable_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "SReclaimable - Part of Slab, that might be reclaimed, such as caches",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Memory Slab",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory Vmalloc",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dirty"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#B7DBAB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mapped"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM + Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "VmallocUsed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 37
+ },
+ "id": 70,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_VmallocChunk_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "VmallocChunk - Largest contigious block of vmalloc area which is free",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_VmallocTotal_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "VmallocTotal - Total size of vmalloc memory area",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "node_memory_VmallocUsed_bytes{supabase_project_ref=\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "VmallocUsed - Amount of vmalloc area which is used",
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "Memory Vmalloc",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory Bounce",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 37
+ },
+ "id": 159,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_Bounce_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Bounce - Memory used for block device bounce buffers",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Memory Bounce",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory Anonymous",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dirty"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#B7DBAB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mapped"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM + Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "VmallocUsed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Inactive *./"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 47
+ },
+ "id": 129,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_AnonHugePages_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "AnonHugePages - Memory in anonymous huge pages",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_AnonPages_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "AnonPages - Memory in user pages not backed by files",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Memory Anonymous",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory Kernel / CPU",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 47
+ },
+ "id": 160,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_KernelStack_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "KernelStack - Kernel memory stack. This is not reclaimable",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_Percpu_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "PerCPU - Per CPU memory allocated dynamically by loadable modules",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Memory Kernel / CPU",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory HugePages Counter",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "pages",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dirty"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#B7DBAB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mapped"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM + Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "VmallocUsed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 57
+ },
+ "id": 140,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_HugePages_Free{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "HugePages_Free - Huge pages in the pool that are not yet allocated",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_HugePages_Rsvd{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "HugePages_Rsvd - Huge pages for which a commitment to allocate from the pool has been made, but no allocation has yet been made",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "node_memory_HugePages_Surp{supabase_project_ref=\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "HugePages_Surp - Huge pages in the pool above the value in /proc/sys/vm/nr_hugepages",
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "Memory HugePages Counter",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory HugePages Size",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dirty"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#B7DBAB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mapped"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM + Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "VmallocUsed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 57
+ },
+ "id": 71,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_HugePages_Total{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "HugePages - Total size of the pool of huge pages",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_Hugepagesize_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Hugepagesize - Huge Page size",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Memory HugePages Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory NFS",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dirty"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#B7DBAB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mapped"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM + Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "VmallocUsed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 67
+ },
+ "id": 132,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_NFS_Unstable_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "NFS Unstable - Memory in NFS pages sent to the server, but not yet commited to the storage",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Memory NFS",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory Unevictable and MLocked",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 67
+ },
+ "id": 137,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_Unevictable_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Unevictable - Amount of unevictable memory that can't be swapped out for a variety of reasons",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_memory_Mlocked_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "MLocked - Size of pages locked to memory using the mlock() system call",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Memory Unevictable and MLocked",
+ "type": "timeseries"
+ }
+ ],
+ "title": "Memory Meminfo",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 11
+ },
+ "id": 267,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory Pages In / Out",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "pages out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*out/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 176,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_vmstat_pgpgin{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Pagesin - Page in operations",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_vmstat_pgpgout{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Pagesout - Page out operations",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Memory Pages In / Out",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory Pages Swap In / Out",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "pages out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*out/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 22,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_vmstat_pswpin{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Pswpin - Pages swapped in",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_vmstat_pswpout{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Pswpout - Pages swapped out",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Memory Pages Swap In / Out",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Memory Page Faults",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "faults",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Pgfault - Page major and minor fault operations"
+ },
+ "properties": [
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ },
+ {
+ "id": "custom.stacking",
+ "value": {
+ "group": "A",
+ "mode": "none"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 18
+ },
+ "id": 175,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_vmstat_pgfault{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Pgfault - Page major and minor fault operations",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_vmstat_pgmajfault{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Pgmajfault - Major page fault operations",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_vmstat_pgfault{supabase_project_ref=~\"$project\"}[$__rate_interval]) - rate(node_vmstat_pgmajfault{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Pgminfault - Minor page fault operations",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "Memory Page Faults",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "OOM Killer",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dirty"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#B7DBAB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mapped"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM + Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "VmallocUsed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 307,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_vmstat_oom_kill{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "oom killer invocations ",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "OOM Killer",
+ "type": "timeseries"
+ }
+ ],
+ "title": "Memory Vmstat",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 12
+ },
+ "id": 293,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Time Syncronized Drift",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "seconds",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Variation*./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 9
+ },
+ "id": 260,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_timex_estimated_error_seconds{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Estimated error in seconds",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_timex_offset_seconds{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Time offset in between local system and reference clock",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_timex_maxerror_seconds{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Maximum error in seconds",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "Time Syncronized Drift",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Time PLL Adjust",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 9
+ },
+ "id": 291,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_timex_loop_time_constant{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Phase-locked loop time adjust",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Time PLL Adjust",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Time Syncronized Status",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Variation*./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 19
+ },
+ "id": 168,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_timex_sync_status{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Is clock synchronized to a reliable server (1 = yes, 0 = no)",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_timex_frequency_adjustment_ratio{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Local clock frequency adjustment",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Time Syncronized Status",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Time Misc",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "seconds",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 19
+ },
+ "id": 294,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_timex_tick_seconds{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Seconds between clock ticks",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_timex_tai_offset_seconds{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "International Atomic Time (TAI) offset",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Time Misc",
+ "type": "timeseries"
+ }
+ ],
+ "title": "System Timesync",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 13
+ },
+ "id": 312,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Processes Status",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 10
+ },
+ "id": 62,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_procs_blocked{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Processes blocked waiting for I/O to complete",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_procs_running{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Processes in runnable state",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Processes Status",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Processes State",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 10
+ },
+ "id": 315,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_processes_state{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ state }}",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Processes State",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Processes Forks",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "forks / sec",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "id": 148,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_forks_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Processes forks second",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Processes Forks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Processes Memory",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Max.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "id": 149,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(process_virtual_memory_bytes{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Processes virtual memory size in bytes",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "process_resident_memory_max_bytes{supabase_project_ref=~\"$project\"}",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Maximum amount of virtual memory available in bytes",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(process_virtual_memory_bytes{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Processes virtual memory size in bytes",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(process_virtual_memory_max_bytes{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Maximum amount of virtual memory available in bytes",
+ "range": true,
+ "refId": "D",
+ "step": 240
+ }
+ ],
+ "title": "Processes Memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "PIDs Number and Limit",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PIDs limit"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2495C",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 30
+ },
+ "id": 313,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_processes_pids{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Number of PIDs",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_processes_max_processes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "PIDs limit",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "PIDs Number and Limit",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Process schedule stats Running / Waiting",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "seconds",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*waiting.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 30
+ },
+ "id": 305,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_schedstat_running_seconds_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "CPU {{ cpu }} - seconds spent running a process",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_schedstat_waiting_seconds_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "CPU {{ cpu }} - seconds spent by processing waiting for this CPU",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Process schedule stats Running / Waiting",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Threads Number and Limit",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Threads limit"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2495C",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 40
+ },
+ "id": 314,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_processes_threads{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Allocated threads",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_processes_max_threads{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Threads limit",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Threads Number and Limit",
+ "type": "timeseries"
+ }
+ ],
+ "title": "System Processes",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 269,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Context Switches / Interrupts",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 11
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_context_switches_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Context switches",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_intr_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Interrupts",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Context Switches / Interrupts",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "System Load",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 11
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_load1{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Load 1m",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_load5{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Load 5m",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_load15{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Load 15m",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "System Load",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Interrupts Detail",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Critical*./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Max*./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 21
+ },
+ "id": 259,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_interrupts_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ type }} - {{ info }}",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Interrupts Detail",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Schedule timeslices executed by each cpu",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 21
+ },
+ "id": 306,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_schedstat_timeslices_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "CPU {{ cpu }}",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Schedule timeslices executed by each cpu",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Entropy",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 31
+ },
+ "id": 151,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_entropy_available_bits{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Entropy available to random number generators",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Entropy",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "CPU time spent in user and system contexts",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "seconds",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 31
+ },
+ "id": 308,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(process_cpu_seconds_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Time spent",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "CPU time spent in user and system contexts",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "File Descriptors",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Max*./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 24,
+ "x": 0,
+ "y": 41
+ },
+ "id": 64,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "process_max_fds{supabase_project_ref=~\"$project\"}",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Maximum open file descriptors",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "process_open_fds{supabase_project_ref=~\"$project\"}",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Open file descriptors",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "File Descriptors",
+ "type": "timeseries"
+ }
+ ],
+ "title": "System Misc",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 15
+ },
+ "id": 304,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Hardware temperature monitor",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "temperature",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "celsius"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Critical*./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Max*./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 158,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_hwmon_temp_celsius{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ chip }} {{ sensor }} temp",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_hwmon_temp_crit_alarm_celsius{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ chip }} {{ sensor }} Critical Alarm",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "node_hwmon_temp_crit_celsius{supabase_project_ref=\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ chip }} {{ sensor }} Critical",
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "node_hwmon_temp_crit_hyst_celsius{supabase_project_ref=\"$project\"}",
+ "format": "time_series",
+ "hide": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ chip }} {{ sensor }} Critical Historical",
+ "refId": "D",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "expr": "node_hwmon_temp_max_celsius{supabase_project_ref=\"$project\"}",
+ "format": "time_series",
+ "hide": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ chip }} {{ sensor }} Max",
+ "refId": "E",
+ "step": 240
+ }
+ ],
+ "title": "Hardware temperature monitor",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Throttle cooling device",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Max*./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 300,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_cooling_device_cur_state{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Current {{ name }} in {{ type }}",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_cooling_device_max_state{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Max {{ name }} in {{ type }}",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Throttle cooling device",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Power supply",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 24,
+ "x": 0,
+ "y": 22
+ },
+ "id": 302,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_power_supply_online{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ power_supply }} online",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Power supply",
+ "type": "timeseries"
+ }
+ ],
+ "title": "Hardware Misc",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "id": 296,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Systemd Sockets",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 13
+ },
+ "id": 297,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_systemd_socket_accepted_connections_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ name }} Connections",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Systemd Sockets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Systemd Units State",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Failed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2495C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF9830",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#73BF69",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Deactivating"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFCB7D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Activating"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C8F2C2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 13
+ },
+ "id": 298,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_systemd_units{supabase_project_ref=~\"$project\",state=\"activating\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Activating",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_systemd_units{supabase_project_ref=~\"$project\",state=\"active\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Active",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_systemd_units{supabase_project_ref=~\"$project\",state=\"deactivating\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Deactivating",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_systemd_units{supabase_project_ref=~\"$project\",state=\"failed\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Failed",
+ "range": true,
+ "refId": "D",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_systemd_units{supabase_project_ref=~\"$project\",state=\"inactive\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Inactive",
+ "range": true,
+ "refId": "E",
+ "step": 240
+ }
+ ],
+ "title": "Systemd Units State",
+ "type": "timeseries"
+ }
+ ],
+ "title": "Systemd",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 17
+ },
+ "id": 270,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "The number (after merges) of I/O requests completed per second for the device",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "IO read (-) / write (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Read.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda2_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda3_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F4D598",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#962D82",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#65C5DB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9934E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCEACA",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9E2D2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 18
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_reads_completed_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Reads completed",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_writes_completed_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Writes completed",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Disk IOps Completed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "The number of bytes read from or written to the device per second",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes read (-) / write (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Read.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda2_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda3_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F4D598",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#962D82",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#65C5DB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9934E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCEACA",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9E2D2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 33,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_read_bytes_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Read bytes",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_written_bytes_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Written bytes",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Disk R/W Data",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "The average time for requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "time. read (-) / write (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Read.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda2_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda3_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F4D598",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#962D82",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#65C5DB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9934E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCEACA",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9E2D2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 28
+ },
+ "id": 37,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_read_time_seconds_total{supabase_project_ref=~\"$project\"}[$__rate_interval]) / rate(node_disk_reads_completed_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 4,
+ "legendFormat": "{{device}} - Read wait time avg",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_write_time_seconds_total{supabase_project_ref=~\"$project\"}[$__rate_interval]) / rate(node_disk_writes_completed_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Write wait time avg",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Disk Average Wait Time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "The average queue length of the requests that were issued to the device",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "aqu-sz",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda2_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda3_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F4D598",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#962D82",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#65C5DB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9934E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCEACA",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9E2D2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 28
+ },
+ "id": 35,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_io_time_weighted_seconds_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}}",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Average Queue Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "The number of read and write requests merged per second that were queued to the device",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "I/Os",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Read.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda2_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda3_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F4D598",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#962D82",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#65C5DB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9934E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCEACA",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9E2D2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 38
+ },
+ "id": 133,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_reads_merged_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Read merged",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_writes_merged_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Write merged",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Disk R/W Merged",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Percentage of elapsed time during which I/O requests were issued to the device (bandwidth utilization for the device). Device saturation occurs when this value is close to 100% for devices serving requests serially. But for devices serving requests in parallel, such as RAID arrays and modern SSDs, this number does not reflect their performance limits.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "%util",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda2_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda3_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F4D598",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#962D82",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#65C5DB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9934E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCEACA",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9E2D2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 38
+ },
+ "id": 36,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_io_time_seconds_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - IO",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_discard_time_seconds_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - discard",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Time Spent Doing I/Os",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "The number of outstanding requests at the instant the sample was taken. Incremented as requests are given to appropriate struct request_queue and decremented as they finish.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Outstanding req.",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda2_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda3_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F4D598",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#962D82",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#65C5DB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9934E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCEACA",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9E2D2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 48
+ },
+ "id": 34,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_io_now{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "interval": "",
+ "intervalFactor": 4,
+ "legendFormat": "{{device}} - IO now",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Instantaneous Queue Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Disk IOps Discards completed / merged",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "IOs",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda2_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda3_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F4D598",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#962D82",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#65C5DB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9934E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCEACA",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9E2D2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 48
+ },
+ "id": 301,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_discards_completed_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Discards completed",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_disk_discards_merged_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Discards merged",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Disk IOps Discards completed / merged",
+ "type": "timeseries"
+ }
+ ],
+ "title": "Storage Disk",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 18
+ },
+ "id": 271,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Filesystem space available",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 15
+ },
+ "id": 43,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_filesystem_avail_bytes{supabase_project_ref=~\"$project\",device!~'rootfs'}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{mountpoint}} - Available",
+ "metric": "",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_filesystem_free_bytes{supabase_project_ref=~\"$project\",device!~'rootfs'}",
+ "format": "time_series",
+ "hide": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{mountpoint}} - Free",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_filesystem_size_bytes{supabase_project_ref=~\"$project\",device!~'rootfs'}",
+ "format": "time_series",
+ "hide": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{mountpoint}} - Size",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "Filesystem space available",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "File Nodes Free",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "file nodes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 15
+ },
+ "id": 41,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_filesystem_files_free{supabase_project_ref=~\"$project\",device!~'rootfs'}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{mountpoint}} - Free file nodes",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "File Nodes Free",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "File Descriptor",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "files",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "id": 28,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_filefd_maximum{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Max open files",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_filefd_allocated{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Open files",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "File Descriptor",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "File Nodes Size",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "file Nodes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "id": 219,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_filesystem_files{supabase_project_ref=~\"$project\",device!~'rootfs'}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{mountpoint}} - File nodes total",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "File Nodes Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Filesystem in ReadOnly / Error",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "/ ReadOnly"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsZero",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byValue",
+ "options": {
+ "op": "gte",
+ "reducer": "allIsNull",
+ "value": 0
+ }
+ },
+ "properties": [
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": true,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 35
+ },
+ "id": 44,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_filesystem_readonly{supabase_project_ref=~\"$project\",device!~'rootfs'}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{mountpoint}} - ReadOnly",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_filesystem_device_error{supabase_project_ref=~\"$project\",device!~'rootfs',fstype!~'tmpfs'}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{mountpoint}} - Device error",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Filesystem in ReadOnly / Error",
+ "type": "timeseries"
+ }
+ ],
+ "title": "Storage Filesystem",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 19
+ },
+ "id": 272,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Network Traffic by Packets",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "packets out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "receive_packets_eth0"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "receive_packets_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "transmit_packets_eth0"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "transmit_packets_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "id": 60,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_network_receive_packets_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Receive",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_network_transmit_packets_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Transmit",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic by Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Network Traffic Errors",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "packets out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "id": 142,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_network_receive_errs_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Receive errors",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_network_transmit_errs_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Rransmit errors",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic Errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Network Traffic Drop",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "packets out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 26
+ },
+ "id": 143,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_network_receive_drop_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Receive drop",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_network_transmit_drop_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Transmit drop",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic Drop",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Network Traffic Compressed",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "packets out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 26
+ },
+ "id": 141,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_network_receive_compressed_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Receive compressed",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_network_transmit_compressed_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Transmit compressed",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic Compressed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Network Traffic Multicast",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "packets out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 36
+ },
+ "id": 146,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_network_receive_multicast_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Receive multicast",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic Multicast",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Network Traffic Fifo",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "packets out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 36
+ },
+ "id": 144,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_network_receive_fifo_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Receive fifo",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_network_transmit_fifo_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Transmit fifo",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic Fifo",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Network Traffic Frame",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "packets out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 46
+ },
+ "id": 145,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_network_receive_frame_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Receive frame",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic Frame",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Network Traffic Carrier",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 46
+ },
+ "id": 231,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_network_transmit_carrier_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Statistic transmit_carrier",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic Carrier",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Network Traffic Colls",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 56
+ },
+ "id": 232,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_network_transmit_colls_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Transmit colls",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic Colls",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "NF Contrack",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "entries",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "NF conntrack limit"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 56
+ },
+ "id": 61,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_nf_conntrack_entries{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "NF conntrack entries",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_nf_conntrack_entries_limit{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "NF conntrack limit",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "NF Contrack",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "ARP Entries",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Entries",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 66
+ },
+ "id": 230,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_arp_entries{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ device }} - ARP entries",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "ARP Entries",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "MTU",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 66
+ },
+ "id": 288,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_network_mtu_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ device }} - Bytes",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "MTU",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Speed",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 76
+ },
+ "id": 280,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_network_speed_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ device }} - Speed",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Speed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Queue Length",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "packets",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 76
+ },
+ "id": 289,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_network_transmit_queue_length{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ device }} - Interface transmit queue length",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Queue Length",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Softnet Packets",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "packetes drop (-) / process (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Dropped.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 86
+ },
+ "id": 290,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_softnet_processed_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "CPU {{cpu}} - Processed",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_softnet_dropped_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "CPU {{cpu}} - Dropped",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Softnet Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Softnet Out of Quota",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 86
+ },
+ "id": 310,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_softnet_times_squeezed_total{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "CPU {{cpu}} - Squeezed",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Softnet Out of Quota",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Network Operational Status",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 96
+ },
+ "id": 309,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_network_up{operstate=\"up\",supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{interface}} - Operational state UP",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_network_carrier{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "instant": false,
+ "legendFormat": "{{device}} - Physical link state",
+ "refId": "B"
+ }
+ ],
+ "title": "Network Operational Status",
+ "type": "timeseries"
+ }
+ ],
+ "title": "Network Traffic",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 20
+ },
+ "id": 273,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Sockstat TCP",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 17
+ },
+ "id": 63,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_sockstat_TCP_alloc{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "TCP_alloc - Allocated sockets",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_sockstat_TCP_inuse{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "TCP_inuse - Tcp sockets currently in use",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_sockstat_TCP_mem{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "TCP_mem - Used memory for tcp",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_sockstat_TCP_orphan{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "TCP_orphan - Orphan sockets",
+ "range": true,
+ "refId": "D",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_sockstat_TCP_tw{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "TCP_tw - Sockets wating close",
+ "range": true,
+ "refId": "E",
+ "step": 240
+ }
+ ],
+ "title": "Sockstat TCP",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Sockstat UDP",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 17
+ },
+ "id": 124,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_sockstat_UDPLITE_inuse{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "UDPLITE_inuse - Udplite sockets currently in use",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_sockstat_UDP_inuse{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "UDP_inuse - Udp sockets currently in use",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_sockstat_UDP_mem{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "UDP_mem - Used memory for udp",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "Sockstat UDP",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Sockstat FRAG / RAW",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 27
+ },
+ "id": 125,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_sockstat_FRAG_inuse{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "FRAG_inuse - Frag sockets currently in use",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_sockstat_RAW_inuse{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "RAW_inuse - Raw sockets currently in use",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "Sockstat FRAG / RAW",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Sockstat Memory Size",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 27
+ },
+ "id": 220,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_sockstat_TCP_mem_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "mem_bytes - TCP sockets in that state",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_sockstat_UDP_mem_bytes{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "mem_bytes - UDP sockets in that state",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_sockstat_FRAG_memory{supabase_project_ref=~\"$project\"}",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "FRAG_memory - Used memory for frag",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "Sockstat Memory Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Sockstat Used",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "sockets",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 37
+ },
+ "id": 126,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_sockstat_sockets_used{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Sockets_used - Sockets currently in use",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Sockstat Used",
+ "type": "timeseries"
+ }
+ ],
+ "title": "Network Sockstat",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 21
+ },
+ "id": 274,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Netstat IP In / Out Octets",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "octects out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Out.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 47
+ },
+ "id": 221,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_IpExt_InOctets{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "InOctets - Received octets",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_IpExt_OutOctets{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "OutOctets - Sent octets",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Netstat IP In / Out Octets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Netstat IP Forwarding",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "datagrams",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 47
+ },
+ "id": 81,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_Ip_Forwarding{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Forwarding - IP forwarding",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Netstat IP Forwarding",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "ICMP In / Out",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "messages out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Out.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 57
+ },
+ "id": 115,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_Icmp_InMsgs{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "InMsgs - Messages which the entity received. Note that this counter includes all those counted by icmpInErrors",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_Icmp_OutMsgs{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "OutMsgs - Messages which this entity attempted to send. Note that this counter includes all those counted by icmpOutErrors",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "ICMP In / Out",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "ICMP Errors",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "messages out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Out.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 57
+ },
+ "id": 50,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_Icmp_InErrors{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "InErrors - Messages which the entity received but determined as having ICMP-specific errors (bad ICMP checksums, bad length, etc.)",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "ICMP Errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "UDP In / Out",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "datagrams out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Out.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Snd.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 67
+ },
+ "id": 55,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_Udp_InDatagrams{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "InDatagrams - Datagrams received",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_Udp_OutDatagrams{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "OutDatagrams - Datagrams sent",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "UDP In / Out",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "UDP Errors",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "datagrams",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 67
+ },
+ "id": 109,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_Udp_InErrors{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "InErrors - UDP Datagrams that could not be delivered to an application",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_Udp_NoPorts{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "NoPorts - UDP Datagrams received on a port with no listener",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_UdpLite_InErrors{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "InErrors Lite - UDPLite Datagrams that could not be delivered to an application",
+ "range": true,
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_Udp_RcvbufErrors{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "RcvbufErrors - UDP buffer errors received",
+ "range": true,
+ "refId": "D",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_Udp_SndbufErrors{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "SndbufErrors - UDP buffer errors send",
+ "range": true,
+ "refId": "E",
+ "step": 240
+ }
+ ],
+ "title": "UDP Errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "TCP In / Out",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "datagrams out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Out.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Snd.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 77
+ },
+ "id": 299,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_Tcp_InSegs{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "InSegs - Segments received, including those received in error. This count includes segments received on currently established connections",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_Tcp_OutSegs{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "OutSegs - Segments sent, including those on current connections but excluding those containing only retransmitted octets",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "TCP In / Out",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "TCP Errors",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 77
+ },
+ "id": 104,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_TcpExt_ListenOverflows{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "ListenOverflows - Times the listen queue of a socket overflowed",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_TcpExt_ListenDrops{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "ListenDrops - SYNs to LISTEN sockets ignored",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_TcpExt_TCPSynRetrans{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "TCPSynRetrans - SYN-SYN/ACK retransmits to break down retransmissions in SYN, fast/timeout retransmits",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_Tcp_RetransSegs{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "RetransSegs - Segments retransmitted - that is, the number of TCP segments transmitted containing one or more previously transmitted octets",
+ "range": true,
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_Tcp_InErrs{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "InErrs - Segments received in error (e.g., bad TCP checksums)",
+ "range": true,
+ "refId": "E"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_Tcp_OutRsts{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "OutRsts - Segments sent with RST flag",
+ "range": true,
+ "refId": "F"
+ }
+ ],
+ "title": "TCP Errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "TCP Connections",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "connections",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*MaxConn *./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 87
+ },
+ "id": 85,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_netstat_Tcp_CurrEstab{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "CurrEstab - TCP connections for which the current state is either ESTABLISHED or CLOSE- WAIT",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_netstat_Tcp_MaxConn{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "MaxConn - Limit on the total number of TCP connections the entity can support (Dinamic is \"-1\")",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "TCP Connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "TCP SynCookie",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Sent.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 87
+ },
+ "id": 91,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_TcpExt_SyncookiesFailed{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "SyncookiesFailed - Invalid SYN cookies received",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_TcpExt_SyncookiesRecv{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "SyncookiesRecv - SYN cookies received",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_TcpExt_SyncookiesSent{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "SyncookiesSent - SYN cookies sent",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "TCP SynCookie",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "TCP Direct Transition",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "connections",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 97
+ },
+ "id": 82,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_Tcp_ActiveOpens{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "ActiveOpens - TCP connections that have made a direct transition to the SYN-SENT state from the CLOSED state",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_netstat_Tcp_PassiveOpens{supabase_project_ref=~\"$project\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "PassiveOpens - TCP connections that have made a direct transition to the SYN-RCVD state from the LISTEN state",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "TCP Direct Transition",
+ "type": "timeseries"
+ }
+ ],
+ "title": "Network Netstat",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "prometheus"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 22
+ },
+ "id": 279,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Node Exporter Scrape Time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "seconds",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 48
+ },
+ "id": 40,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_scrape_collector_duration_seconds{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{collector}} - Scrape duration",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Node Exporter Scrape Time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Node Exporter Scrape",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*error.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2495C",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 48
+ },
+ "id": 157,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_scrape_collector_success{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{collector}} - Scrape success",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "node_textfile_scrape_error{supabase_project_ref=~\"$project\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{collector}} - Scrape textfile error (1 = true)",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Node Exporter Scrape",
+ "type": "timeseries"
+ }
+ ],
+ "title": "Node Exporter",
+ "type": "row"
+ }
+ ],
+ "refresh": "",
+ "schemaVersion": 39,
+ "tags": [ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "cnzozbhxrotegdkfoglk",
+ "value": "cnzozbhxrotegdkfoglk"
+ },
+ "definition": "label_values(supabase_project_ref)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Project",
+ "multi": false,
+ "name": "project",
+ "options": [ ],
+ "query": {
+ "qryType": 1,
+ "query": "label_values(supabase_project_ref)",
+ "refId": "PrometheusVariableQueryEditor-VariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "grafanacloud-ishanjain-prom",
+ "value": "$datasource"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": { },
+ "timezone": "",
+ "title": "Supabase Project",
+ "uid": "d402d94e-da48-48e4-ac52-53026b96a000",
+ "version": 9,
+ "weekStart": ""
+}
diff --git a/assets/supabase/rules.yaml b/assets/supabase/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/supabase/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/tensorflow/alerts.yaml b/assets/tensorflow/alerts.yaml
new file mode 100644
index 0000000..1efeee6
--- /dev/null
+++ b/assets/tensorflow/alerts.yaml
@@ -0,0 +1,25 @@
+groups:
+- name: TensorFlowServingAlerts
+ rules:
+ - alert: TensorFlowModelRequestHighErrorRate
+ annotations:
+ description: '{{ printf "%.2f" $value }}% of all model requests are not successful,
+ which is above the threshold 30%, indicating a potentially larger issue for
+ {{$labels.instance}}'
+ summary: More than 30% of all model requests are not successful.
+ expr: |
+ 100 * sum(rate(:tensorflow:serving:request_count{status!="OK"}[5m])) by (instance) / sum(rate(:tensorflow:serving:request_count[5m])) by (instance) > 30
+ for: 5m
+ labels:
+ severity: critical
+ - alert: TensorFlowServingHighBatchQueuingLatency
+ annotations:
+ description: Batch queuing latency greater than {{ printf "%.2f" $value }}µs,
+ which is above the threshold 5000000µs, indicating a potentially larger issue
+ for {{$labels.instance}}
+ summary: Batch queuing latency more than 5000000µs.
+ expr: |
+ increase(:tensorflow:serving:batching_session:queuing_latency_sum[2m]) / increase(:tensorflow:serving:batching_session:queuing_latency_count[2m]) > 5000000
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/tensorflow/dashboards/tensorflow-overview.json b/assets/tensorflow/dashboards/tensorflow-overview.json
new file mode 100644
index 0000000..fa04c5c
--- /dev/null
+++ b/assets/tensorflow/dashboards/tensorflow-overview.json
@@ -0,0 +1,931 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "Overview of a TensorFlow Serving instance.",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of requests over time for the selected model. Grouped by statuses.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(:tensorflow:serving:request_count{job=~\"$job\", instance=~\"$instance\", model_name=~\"$model_name\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "model_name=\"{{model_name}}\",status=\"{{status}}\""
+ }
+ ],
+ "title": "Model request rate",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average request latency of predict requests for the selected model.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "unit": "µs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(:tensorflow:serving:request_latency_sum{job=~\"$job\", instance=~\"$instance\", model_name=~\"$model_name\"}[$__rate_interval])/increase(:tensorflow:serving:request_latency_count{job=~\"$job\", instance=~\"$instance\", model_name=~\"$model_name\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "model_name=\"{{model_name}}\""
+ }
+ ],
+ "title": "Model predict request latency",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Average runtime latency to fulfill a predict request for the selected model.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "unit": "µs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(:tensorflow:serving:runtime_latency_sum{job=~\"$job\", instance=~\"$instance\", model_name=~\"$model_name\"}[$__rate_interval])/increase(:tensorflow:serving:runtime_latency_count{job=~\"$job\", instance=~\"$instance\", model_name=~\"$model_name\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "model_name=\"{{model_name}}\""
+ }
+ ],
+ "title": "Model predict runtime latency",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "id": 5,
+ "title": "Serving overview",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of times TensorFlow Serving has created a new client graph.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "unit": "calls"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 17
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(:tensorflow:core:graph_build_calls{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Graph build calls",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of graph executions.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "unit": "runs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 17
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(:tensorflow:core:graph_runs{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Graph runs",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Amount of time Tensorflow has spent creating new client graphs.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "unit": "µs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(:tensorflow:core:graph_build_time_usecs{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])/increase(:tensorflow:core:graph_build_calls{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Graph build time",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Amount of time spent executing graphs.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "unit": "µs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(:tensorflow:core:graph_run_time_usecs{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])/increase(:tensorflow:core:graph_runs{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Graph run time",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Current latency in the batching queue.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "unit": "µs"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 33
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(:tensorflow:serving:batching_session:queuing_latency_sum{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])/increase(:tensorflow:serving:batching_session:queuing_latency_count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Batch queuing latency",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of batch queue throughput over time.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "unit": "batches/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 33
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(:tensorflow:serving:batching_session:queuing_latency_count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": ""
+ }
+ ],
+ "title": "Batch queue throughput",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "Logs from the TensorFlow Serving Docker container.",
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 41
+ },
+ "id": 12,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": true,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{name=\"tensorflow\",job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Container logs",
+ "transformations": [ ],
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "tensorflow-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(:tensorflow:serving:request_count{}, job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [ ],
+ "query": "label_values(:tensorflow:serving:request_count{}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(:tensorflow:serving:request_count{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Model name",
+ "multi": false,
+ "name": "model_name",
+ "options": [ ],
+ "query": "label_values(:tensorflow:serving:request_count{job=~\"$job\"}, model_name)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki datasource",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "TensorFlow Serving overview",
+ "uid": "tensorflow-overview",
+ "version": 0
+}
diff --git a/assets/tensorflow/rules.yaml b/assets/tensorflow/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/tensorflow/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/traefik/alerts.yaml b/assets/traefik/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/traefik/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/traefik/dashboards/traefikdash.json b/assets/traefik/dashboards/traefikdash.json
new file mode 100644
index 0000000..e6b7c96
--- /dev/null
+++ b/assets/traefik/dashboards/traefikdash.json
@@ -0,0 +1,1789 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Traefik dashboard prometheus",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 4475,
+ "graphTooltip": 0,
+ "id": 120,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 10,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Service stats ($service)",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Dashboard --"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 8,
+ "x": 0,
+ "y": 1
+ },
+ "id": 17,
+ "interval": "$agg_interval",
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.3.2",
+ "targets": [
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Dashboard --"
+ },
+ "panelId": 15,
+ "refId": "A"
+ }
+ ],
+ "title": "Load",
+ "transformations": [
+ {
+ "id": "filterFieldsByName",
+ "options": {
+ "include": {
+ "pattern": "Total"
+ }
+ }
+ },
+ {
+ "id": "reduce",
+ "options": {
+ "includeTimeField": false,
+ "mode": "seriesToRows",
+ "reducers": [
+ "mean",
+ "sum"
+ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": { },
+ "indexByName": { },
+ "renameByName": {
+ "Mean": "Average load",
+ "Total": "Total"
+ }
+ }
+ }
+ ],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 8,
+ "x": 8,
+ "y": 1
+ },
+ "id": 4,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.3.2",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum(traefik_service_request_duration_seconds_sum{job=~\"$job\", instance=~\"$instance\", service=~\"$service\"})\n/\nsum(traefik_service_requests_total{job=~\"$job\", instance=~\"$instance\", service=~\"$service\"})",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "Average response time",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Average response time",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 8,
+ "x": 16,
+ "y": 1
+ },
+ "id": 16,
+ "interval": "$agg_interval",
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": { },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.3.2",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "sum(increase(traefik_service_requests_total{job=~\"$job\", instance=~\"$instance\", service=~\"$service\", code=~\"(4|5).+\"}[$__interval] offset -$__interval))",
+ "format": "time_series",
+ "instant": false,
+ "legendFormat": "Errors",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "sum(increase(traefik_service_requests_total{job=~\"$job\", instance=~\"$instance\", service=~\"$service\"}[$__interval] offset -$__interval))",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "legendFormat": "Total",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Errors",
+ "transformations": [
+ {
+ "id": "calculateField",
+ "options": {
+ "alias": "Rate",
+ "binary": {
+ "left": "Errors",
+ "operator": "/",
+ "reducer": "sum",
+ "right": "Total"
+ },
+ "mode": "binary",
+ "reduce": {
+ "include": [ ],
+ "reducer": "sum"
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Total": true
+ },
+ "indexByName": { },
+ "renameByName": {
+ "Errors": "Total"
+ }
+ }
+ }
+ ],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": -1,
+ "drawStyle": "line",
+ "fillOpacity": 7,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "custom.drawStyle",
+ "value": "line"
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#b877d9",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.stacking",
+ "value": {
+ "group": "A",
+ "mode": "none"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 0,
+ "y": 3
+ },
+ "id": 15,
+ "interval": "$agg_interval",
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max",
+ "min",
+ "sum"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Total",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.2.4",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (service) (increase(traefik_service_requests_total{job=~\"$job\", instance=~\"$instance\", service=~\"$service\"}[$__interval] offset -$__interval))> 0",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{service}}",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by () (increase(traefik_service_requests_total{job=~\"$job\", instance=~\"$instance\", service=~\"$service\"}[$__interval] offset -$__interval)) > 0",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Total",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Load / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 5,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 8,
+ "y": 3
+ },
+ "id": 14,
+ "interval": "$agg_interval",
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max",
+ "min",
+ "lastNotNull"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.2.4",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum by(service) (traefik_service_request_duration_seconds_sum{job=~\"$job\", instance=~\"$instance\", service=~\"$service\"})\n/\nsum by(service)(traefik_service_requests_total{job=~\"$job\", instance=~\"$instance\", service=~\"$service\"})",
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Average response time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Ratio of 4xx and 5xx HTTP responses to all calls.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": -1,
+ "drawStyle": "line",
+ "fillOpacity": 14,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 8,
+ "x": 16,
+ "y": 3
+ },
+ "id": 13,
+ "interval": "$agg_interval",
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max",
+ "min",
+ "lastNotNull"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Total",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.2.4",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (service) (increase(traefik_service_requests_total{job=~\"$job\", instance=~\"$instance\", service=~\"$service\", code=~\"(4|5).+\"}[$__interval] offset -$__interval))/\nsum by (service) (increase(traefik_service_requests_total{job=~\"$job\", instance=~\"$instance\", service=~\"$service\"}[$__interval] offset -$__interval)>0)*100",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ service }}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Errors rate",
+ "transformations": [ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Load distribution by method, code over $__interval",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 1,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "custom.drawStyle",
+ "value": "line"
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#b877d9",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.stacking",
+ "value": {
+ "group": "A",
+ "mode": "none"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP 100-199"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP 200-299"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP 300-399"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP 400-499"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "HTTP 500-599"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 10
+ },
+ "id": 3,
+ "interval": "$agg_interval",
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max",
+ "min",
+ "sum"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true,
+ "sortBy": "Total",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.2.4",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (alias) (\nlabel_replace(\n(increase(traefik_service_requests_total{job=~\"$job\", instance=~\"$instance\", service=~\"$service\", code!=\"\"}[$__interval] offset -$__interval )) > 0,\n \"alias\", \"HTTP ${1}00-${1}99\", \"code\", \"(.).+\"\n))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{alias}}",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by () (increase(traefik_service_requests_total{job=~\"$job\", instance=~\"$instance\", service=~\"$service\"}[$__interval] offset -$__interval)) > 0",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Total",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Load by HTTP codes/$__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "description": "Load distribution by method, code over $__interval",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 1,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "custom.drawStyle",
+ "value": "line"
+ },
+ {
+ "id": "custom.stacking",
+ "value": {
+ "group": "A",
+ "mode": "none"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 10
+ },
+ "id": 19,
+ "interval": "$agg_interval",
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max",
+ "min",
+ "sum"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true,
+ "sortBy": "Total",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.2.4",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (method) (increase(traefik_service_requests_total{job=~\"$job\", instance=~\"$instance\", service=~\"$service\", code!=\"\"}[$__interval] offset -$__interval)) > 0",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{alias}}",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by () (increase(traefik_service_requests_total{job=~\"$job\", instance=~\"$instance\", service=~\"$service\"}[$__interval] offset -$__interval)) > 0",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Total",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Load by method/$__interval",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 18
+ },
+ "id": 12,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Global stats",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 1,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 19
+ },
+ "id": 5,
+ "interval": "$agg_interval",
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min",
+ "mean",
+ "sum"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true,
+ "sortBy": "Total",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.2.4",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (method, code) (increase(traefik_entrypoint_requests_total{job=~\"$job\", instance=~\"$instance\", entrypoint=~\"$entrypoint\",code=~\"2.+\"}[$__interval] offset -$__interval)) > 0",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{method}}: {{code}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Status codes 2xx/$__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 1,
+ "drawStyle": "bars",
+ "fillOpacity": 100,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 19
+ },
+ "id": 6,
+ "interval": "$agg_interval",
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min",
+ "mean",
+ "sum"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true,
+ "sortBy": "Total",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.2.4",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (method, code) (increase(traefik_entrypoint_requests_total{job=~\"$job\", instance=~\"$instance\", entrypoint=~\"$entrypoint\",code!~\"2.+\"}[$__interval] offset -$__interval)) > 0",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ method }} : {{code}}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Others status codes/$__interval",
+ "type": "timeseries"
+ },
+ {
+ "aliasColors": { },
+ "breakPoint": "50%",
+ "combine": {
+ "label": "Others",
+ "threshold": 0
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ],
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fontSize": "80%",
+ "format": "short",
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 26
+ },
+ "id": 7,
+ "interval": "$agg_interval",
+ "links": [ ],
+ "nullPointMode": "connected",
+ "options": {
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true,
+ "values": [
+ "value",
+ "percent"
+ ]
+ },
+ "pieType": "pie",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pieType": "pie",
+ "strokeWidth": 1,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (service) (increase(traefik_service_requests_total{job=~\"$job\", instance=~\"$instance\", service=~\"$service\"}[$__interval] offset -$__interval)) > 0",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "{{ service }}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Requests by service",
+ "type": "piechart",
+ "valueName": "total"
+ },
+ {
+ "aliasColors": { },
+ "breakPoint": "50%",
+ "combine": {
+ "label": "Others",
+ "threshold": 0
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ],
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "fontSize": "80%",
+ "format": "short",
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 26
+ },
+ "id": 8,
+ "interval": "$agg_interval",
+ "links": [ ],
+ "nullPointMode": "connected",
+ "options": {
+ "legend": {
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true,
+ "values": [
+ "value",
+ "percent"
+ ]
+ },
+ "pieType": "pie",
+ "reduceOptions": {
+ "calcs": [
+ "sum"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pieType": "pie",
+ "strokeWidth": 1,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "editorMode": "code",
+ "expr": "sum by (protocol, entrypoint) (increase(traefik_entrypoint_requests_total{job=~\"$job\", instance=~\"$instance\", entrypoint=~\"$entrypoint\"}[$__interval] offset -$__interval)) > 0",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 2,
+ "legendFormat": "{{entrypoint}}: {{ protocol }}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Requests by entrypoints and protocol",
+ "type": "piechart",
+ "valueName": "total"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 37,
+ "style": "dark",
+ "tags": [
+ "traefik-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data Source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(traefik_service_requests_total,job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(traefik_service_requests_total,job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(traefik_service_requests_total{job=~\"$job\"},instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(traefik_service_requests_total{job=~\"$job\"},instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(traefik_service_requests_total{job=~\"$job\",instance=~\"$instance\"},service)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Service",
+ "multi": true,
+ "name": "service",
+ "options": [ ],
+ "query": {
+ "query": "label_values(traefik_service_requests_total{job=~\"$job\",instance=~\"$instance\"},service)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "/.*@.*/",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(traefik_entrypoint_requests_total{job=~\"$job\",instance=~\"$instance\"},entrypoint)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Entrypoint",
+ "multi": true,
+ "name": "entrypoint",
+ "options": [ ],
+ "query": {
+ "query": "label_values(traefik_entrypoint_requests_total{job=~\"$job\",instance=~\"$instance\"},entrypoint)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "auto": true,
+ "auto_count": 100,
+ "auto_min": "1m",
+ "current": {
+ "selected": false,
+ "text": "auto",
+ "value": "$__auto_interval_agg_interval"
+ },
+ "description": "Desired group interval",
+ "hide": 0,
+ "label": "Aggregation interval",
+ "name": "agg_interval",
+ "options": [
+ {
+ "selected": true,
+ "text": "auto",
+ "value": "$__auto_interval_agg_interval"
+ },
+ {
+ "selected": false,
+ "text": "1m",
+ "value": "1m"
+ },
+ {
+ "selected": false,
+ "text": "5m",
+ "value": "5m"
+ },
+ {
+ "selected": false,
+ "text": "10m",
+ "value": "10m"
+ },
+ {
+ "selected": false,
+ "text": "1h",
+ "value": "1h"
+ },
+ {
+ "selected": false,
+ "text": "1d",
+ "value": "1d"
+ }
+ ],
+ "query": "1m,5m,10m,1h,1d",
+ "queryValue": "",
+ "refresh": 2,
+ "skipUrlSync": false,
+ "type": "interval"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Traefik",
+ "uid": "qPdAviJmz",
+ "version": 5,
+ "weekStart": ""
+}
diff --git a/assets/traefik/rules.yaml b/assets/traefik/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/traefik/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/ubnt-edgerouter/alerts.yaml b/assets/ubnt-edgerouter/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/ubnt-edgerouter/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/ubnt-edgerouter/dashboards/ubnt-edgrouterx-overview.json b/assets/ubnt-edgerouter/dashboards/ubnt-edgrouterx-overview.json
new file mode 100644
index 0000000..ee488a9
--- /dev/null
+++ b/assets/ubnt-edgerouter/dashboards/ubnt-edgrouterx-overview.json
@@ -0,0 +1,4164 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 1,
+ "hideControls": false,
+ "id": null,
+ "links": [ ],
+ "refresh": "",
+ "rows": [
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "datasource": "$datasource",
+ "description": "System details for each discovered edgerouter device",
+ "fieldConfig": {
+ "defaults": {
+ "unit": "string"
+ }
+ },
+ "gridPos": { },
+ "height": 3,
+ "id": 2,
+ "span": 12,
+ "styles": [
+ {
+ "alias": "Time",
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "pattern": "Time",
+ "type": "hidden"
+ },
+ {
+ "alias": "Hostname",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": false,
+ "linkTargetBlank": false,
+ "linkTooltip": "Drill down",
+ "linkUrl": "",
+ "pattern": "snmp_target",
+ "thresholds": [ ],
+ "type": "number",
+ "unit": "short"
+ },
+ {
+ "alias": "Contact",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": false,
+ "linkTargetBlank": false,
+ "linkTooltip": "Drill down",
+ "linkUrl": "",
+ "pattern": "sysContact",
+ "thresholds": [ ],
+ "type": "number",
+ "unit": "short"
+ },
+ {
+ "alias": "Description",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": false,
+ "linkTargetBlank": false,
+ "linkTooltip": "Drill down",
+ "linkUrl": "",
+ "pattern": "sysDescr",
+ "thresholds": [ ],
+ "type": "number",
+ "unit": "short"
+ },
+ {
+ "alias": "Location",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": false,
+ "linkTargetBlank": false,
+ "linkTooltip": "Drill down",
+ "linkUrl": "",
+ "pattern": "sysLocation",
+ "thresholds": [ ],
+ "type": "number",
+ "unit": "short"
+ },
+ {
+ "alias": "Name",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "link": false,
+ "linkTargetBlank": false,
+ "linkTooltip": "Drill down",
+ "linkUrl": "",
+ "pattern": "sysName",
+ "thresholds": [ ],
+ "type": "number",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "colorMode": null,
+ "colors": [ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "pattern": "/.*/",
+ "thresholds": [ ],
+ "type": "string",
+ "unit": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "sysName{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}",
+ "format": "table",
+ "instant": true,
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "expr": "sysDescr{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}",
+ "format": "table",
+ "instant": true,
+ "legendFormat": "",
+ "refId": "B"
+ },
+ {
+ "expr": "sysContact{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}",
+ "format": "table",
+ "instant": true,
+ "legendFormat": "",
+ "refId": "C"
+ },
+ {
+ "expr": "sysLocation{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}",
+ "format": "table",
+ "instant": true,
+ "legendFormat": "",
+ "refId": "D"
+ }
+ ],
+ "title": "System Information",
+ "transform": "table",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "snmp_target",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "filterFieldsByName",
+ "options": {
+ "include": {
+ "pattern": "snmp_target|sys(Name|Descr|Contact|Location)"
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": { },
+ "indexByName": {
+ "snmp_target": 1,
+ "sysContact": 3,
+ "sysDescr": 2,
+ "sysLocation": 4,
+ "sysName": 0
+ },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "System Identification",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "datasource": "$datasource",
+ "description": "The time since the network management portion of the system was last re-initialized.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "noValue": "No Data",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "s"
+ }
+ },
+ "gridPos": { },
+ "id": 3,
+ "links": [ ],
+ "options": {
+ "colorMode": "background",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "7",
+ "targets": [
+ {
+ "expr": "hrSystemUptime{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"} / 100",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Uptime",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "The number of user sessions for which this host is storing state information. A session is a collection of processes requiring a single act of user authentication and possibly subject to collective job control.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "light-purple",
+ "mode": "fixed"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "noValue": "No Data",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "short"
+ }
+ },
+ "gridPos": { },
+ "id": 4,
+ "links": [ ],
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "7",
+ "targets": [
+ {
+ "expr": "hrSystemNumUsers{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Users",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "The number of process contexts currently loaded or running on this system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "noValue": "No Data",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [ ]
+ },
+ "unit": "short"
+ }
+ },
+ "gridPos": { },
+ "id": 5,
+ "links": [ ],
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "7",
+ "targets": [
+ {
+ "expr": "hrSystemProcesses{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Processes",
+ "transparent": false,
+ "type": "stat"
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Uptime & System",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "The 1,5 and 15 minute load averages.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "short"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 6,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "laLoadInt{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"} / 100",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{laNames}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "CPU Load Average",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Number of context switches, and interrupts processed.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "short"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 7,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(ssRawContexts{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Context Switches",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(ssRawInterrupts{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Interrupts",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Interrupts / Ctx-Switches (/sec)",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Number of blocks sent to, or received from, a block device.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Blocks Sent"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 8,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(ssIORawReceived{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Blocks Received",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(ssIORawSent{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Blocks Sent",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Block I/O (/sec)",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Percentage of CPU time spent by state.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "percentunit"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 9,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "increase(ssCpuRawUser{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) / (increase(ssCpuRawUser{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawNice{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawSystem{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawIdle{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawWait{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawKernel{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawInterrupt{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawSoftIRQ{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "User",
+ "refId": "A"
+ },
+ {
+ "expr": "increase(ssCpuRawNice{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) / (increase(ssCpuRawUser{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawNice{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawSystem{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawIdle{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawWait{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawKernel{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawInterrupt{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawSoftIRQ{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Nice",
+ "refId": "B"
+ },
+ {
+ "expr": "increase(ssCpuRawSystem{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) / (increase(ssCpuRawUser{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawNice{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawSystem{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawIdle{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawWait{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawKernel{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawInterrupt{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawSoftIRQ{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "System",
+ "refId": "C"
+ },
+ {
+ "expr": "increase(ssCpuRawIdle{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) / (increase(ssCpuRawUser{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawNice{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawSystem{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawIdle{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawWait{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawKernel{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawInterrupt{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawSoftIRQ{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Idle",
+ "refId": "D"
+ },
+ {
+ "expr": "increase(ssCpuRawWait{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) / (increase(ssCpuRawUser{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawNice{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawSystem{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawIdle{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawWait{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawKernel{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawInterrupt{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawSoftIRQ{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "I/O Wait",
+ "refId": "E"
+ },
+ {
+ "expr": "increase(ssCpuRawKernel{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) / (increase(ssCpuRawUser{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawNice{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawSystem{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawIdle{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawWait{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawKernel{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawInterrupt{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawSoftIRQ{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Kernel",
+ "refId": "F"
+ },
+ {
+ "expr": "increase(ssCpuRawInterrupt{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) / (increase(ssCpuRawUser{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawNice{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawSystem{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawIdle{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawWait{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawKernel{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawInterrupt{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawSoftIRQ{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Interrupt",
+ "refId": "G"
+ },
+ {
+ "expr": "increase(ssCpuRawSoftIRQ{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) / (increase(ssCpuRawUser{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawNice{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawSystem{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawIdle{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawWait{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawKernel{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawInterrupt{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) + increase(ssCpuRawSoftIRQ{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]))",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Soft IRQ",
+ "refId": "H"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "CPU Time",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "The average, over the last minute, of the percentage of time that this processor was not idle.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "short"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 10,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "hrProcessorLoad{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Device ID: {{hrDeviceIndex}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Processor Load (1 Min Average)",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "CPU",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "The total amount of real or virtual memory currently allocated, by type.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "deckbytes"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 11,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 12,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "memBuffer{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Buffer",
+ "refId": "A"
+ },
+ {
+ "expr": "memCached{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Cached",
+ "refId": "B"
+ },
+ {
+ "expr": "memTotalFree{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Free",
+ "refId": "C"
+ },
+ {
+ "expr": "memShared{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Shared",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Memory Distribution",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "The amount of real/physical memory currently unused or available.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "deckbytes"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 12,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "memAvailReal{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Real",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Memory Available",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "The amount of physical memory which is currently allocated.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "percentunit"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 13,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "hrStorageUsed{hrStorageDescr=\"Physical memory\",job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"} / hrStorageSize{hrStorageDescr=\"Physical memory\",job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{hrStorageDescr}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Memory Utilized",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Memory",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Total throughput per interface, by direction.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "bps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*Out"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 14,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 12,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(ifHCInOctets{ifIndex=~\"$interface\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) * 8",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ifName}}:In",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(ifHCOutOctets{ifIndex=~\"$interface\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval]) * 8",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ifName}}:Out",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Interface Traffic",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Packet throughput per interface, by type and direction.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*Out"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 15,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 12,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(ifHCInBroadcastPkts{ifIndex=~\"$interface\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ifName}}:Bcast:In",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(ifHCOutBroadcastPkts{ifIndex=~\"$interface\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ifName}}:Bcast:Out",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(ifHCInMulticastPkts{ifIndex=~\"$interface\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ifName}}:Mcast:In",
+ "refId": "C"
+ },
+ {
+ "expr": "rate(ifHCOutMulticastPkts{ifIndex=~\"$interface\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ifName}}:Mcast:Out",
+ "refId": "D"
+ },
+ {
+ "expr": "rate(ifHCInUcastPkts{ifIndex=~\"$interface\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ifName}}:Ucast:In",
+ "refId": "E"
+ },
+ {
+ "expr": "rate(ifHCOutUcastPkts{ifIndex=~\"$interface\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ifName}}:Ucast:Out",
+ "refId": "F"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Interface Traffic Distribution",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Number of packets dropped, in error, or unknown, by interface.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*Out"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 16,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 12,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(ifInDiscards{ifIndex=~\"$interface\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ifName}}:Drop:In",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(ifOutDiscards{ifIndex=~\"$interface\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ifName}}:Drop:Out",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(ifInErrors{ifIndex=~\"$interface\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ifName}}:Err:In",
+ "refId": "C"
+ },
+ {
+ "expr": "rate(ifOutErrors{ifIndex=~\"$interface\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ifName}}:Err:Out",
+ "refId": "D"
+ },
+ {
+ "expr": "rate(ifInUnknownProtos{ifIndex=~\"$interface\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{ifName}}:Unkwn:In",
+ "refId": "E"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Interface Drops/Errors",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Interface",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Datagram packet throughput by direction and IP version.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*Out"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 17,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 12,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(ipSystemStatsHCInBcastPkts{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:Bcast:In",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(ipSystemStatsHCOutBcastPkts{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:Bcast:Out",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(ipSystemStatsHCInMcastPkts{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:Mcast:In",
+ "refId": "C"
+ },
+ {
+ "expr": "rate(ipSystemStatsHCOutMcastPkts{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:Mcast:Out",
+ "refId": "D"
+ },
+ {
+ "expr": "rate(ipSystemStatsHCInReceives{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:Total:In",
+ "refId": "E"
+ },
+ {
+ "expr": "rate(ipSystemStatsHCOutTransmits{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:Total:Out",
+ "refId": "F"
+ },
+ {
+ "expr": "rate(ipSystemStatsHCInBcastPkts{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:Bcast:In",
+ "refId": "G"
+ },
+ {
+ "expr": "rate(ipSystemStatsHCOutBcastPkts{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:Bcast:Out",
+ "refId": "H"
+ },
+ {
+ "expr": "rate(ipSystemStatsHCInMcastPkts{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:Mcast:In",
+ "refId": "I"
+ },
+ {
+ "expr": "rate(ipSystemStatsHCOutMcastPkts{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:Mcast:Out",
+ "refId": "J"
+ },
+ {
+ "expr": "rate(ipSystemStatsHCInReceives{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:Total:In",
+ "refId": "K"
+ },
+ {
+ "expr": "rate(ipSystemStatsHCOutTransmits{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:Total:Out",
+ "refId": "L"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "IP Distribution",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Number of fragements by action, direction and IP version.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*Out"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 18,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 12,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(ipSystemStatsReasmReqds{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:ReasmReqd:In",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(ipSystemStatsReasmOKs{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:ReasmOK:In",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(ipSystemStatsReasmFails{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:ReasmFail:In",
+ "refId": "C"
+ },
+ {
+ "expr": "rate(ipSystemStatsOutFragCreates{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:FragCreate:Out",
+ "refId": "D"
+ },
+ {
+ "expr": "rate(ipSystemStatsOutFragFails{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:FragFail:Out",
+ "refId": "E"
+ },
+ {
+ "expr": "rate(ipSystemStatsOutFragOKs{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:FragOK:Out",
+ "refId": "F"
+ },
+ {
+ "expr": "rate(ipSystemStatsOutFragReqds{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:FragReqd:Out",
+ "refId": "G"
+ },
+ {
+ "expr": "rate(ipSystemStatsReasmReqds{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:ReasmReqd:In",
+ "refId": "H"
+ },
+ {
+ "expr": "rate(ipSystemStatsReasmOKs{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:ReasmOK:In",
+ "refId": "I"
+ },
+ {
+ "expr": "rate(ipSystemStatsReasmFails{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:ReasmFail:In",
+ "refId": "J"
+ },
+ {
+ "expr": "rate(ipSystemStatsOutFragCreates{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:FragCreate:Out",
+ "refId": "K"
+ },
+ {
+ "expr": "rate(ipSystemStatsOutFragFails{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:FragFail:Out",
+ "refId": "L"
+ },
+ {
+ "expr": "rate(ipSystemStatsOutFragOKs{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:FragOK:Out",
+ "refId": "M"
+ },
+ {
+ "expr": "rate(ipSystemStatsOutFragReqds{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:FragReqd:Out",
+ "refId": "N"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "IP Fragmentation (/sec)",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Number of IP datagrams forwarded by direction and IP version.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*Out"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 19,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(ipSystemStatsHCInForwDatagrams{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:In",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(ipSystemStatsHCOutForwDatagrams{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:Out",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(ipSystemStatsHCInForwDatagrams{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:In",
+ "refId": "C"
+ },
+ {
+ "expr": "rate(ipSystemStatsHCOutForwDatagrams{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:Out",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "IP Forwarding",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Number of IP forwarding datagrams dropped, or in error, by reason, direction, and IP version.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*Out"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 20,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(ipSystemStatsInAddrErrors{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:AddrError:In",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(ipSystemStatsInHdrErrors{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:HdrError:In",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(ipSystemStatsInNoRoutes{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:NoRoute:In",
+ "refId": "C"
+ },
+ {
+ "expr": "rate(ipSystemStatsInTruncatedPkts{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:Truncated:In",
+ "refId": "D"
+ },
+ {
+ "expr": "rate(ipSystemStatsInDiscards{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:Drop:In",
+ "refId": "E"
+ },
+ {
+ "expr": "rate(ipSystemStatsOutDiscards{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:Drop:Out",
+ "refId": "F"
+ },
+ {
+ "expr": "rate(ipSystemStatsInAddrErrors{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:AddrError:In",
+ "refId": "G"
+ },
+ {
+ "expr": "rate(ipSystemStatsInHdrErrors{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:HdrError:In",
+ "refId": "H"
+ },
+ {
+ "expr": "rate(ipSystemStatsInNoRoutes{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:NoRoute:In",
+ "refId": "I"
+ },
+ {
+ "expr": "rate(ipSystemStatsInTruncatedPkts{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:Truncated:In",
+ "refId": "J"
+ },
+ {
+ "expr": "rate(ipSystemStatsInDiscards{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:Drop:In",
+ "refId": "K"
+ },
+ {
+ "expr": "rate(ipSystemStatsOutDiscards{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:Drop:Out",
+ "refId": "L"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "IP Forwarding Drops/Errors",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Number of IP datagrams by direction and IP version.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*Out"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 21,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(ipSystemStatsHCInDelivers{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:In",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(ipSystemStatsHCOutRequests{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:Out",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(ipSystemStatsHCInDelivers{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:In",
+ "refId": "C"
+ },
+ {
+ "expr": "rate(ipSystemStatsHCOutRequests{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:Out",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "IP Non-Forwarding",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Number of IP datagrams dropped, or in error, by reason, direction, and IP version.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*Out"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 22,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(ipSystemStatsInUnknownProtos{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:UnkwnProto:In",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(ipSystemStatsOutNoRoutes{ipSystemStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:NoRoute:Out",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(ipSystemStatsInUnknownProtos{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:UnknwnProto:In",
+ "refId": "C"
+ },
+ {
+ "expr": "rate(ipSystemStatsOutNoRoutes{ipSystemStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:NoRoute:Out",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "IP Non-Forwarding Drops/Errors",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "IP",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Number of TCP connections by type.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "short"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 23,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(tcpActiveOpens{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "ActiveOpen",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(tcpPassiveOpens{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "PassiveOpen",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(tcpAttemptFails{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Fail",
+ "refId": "C"
+ },
+ {
+ "expr": "rate(tcpEstabResets{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Reset",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "TCP State Transitions (/sec)",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "The number of TCP connections for which the current state is either ESTABLISHED or CLOSE-WAIT.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "short"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 24,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(tcpCurrEstab{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Connections",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "TCP Sessions",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Total number of TCP segments by type and direction.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*Out"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 25,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 12,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(tcpInSegs{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "In",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(tcpOutSegs{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Out",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(tcpRetransSegs{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Retrans:Out",
+ "refId": "C"
+ },
+ {
+ "expr": "rate(tcpInErrs{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Error:In",
+ "refId": "D"
+ },
+ {
+ "expr": "rate(tcpOutRsts{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Reset:Out",
+ "refId": "E"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "TCP Traffic, Non-Forward (seg/sec)",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "TCP",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Number of UDP datagrams sent and recieved, in error, or without destination application on port.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*Out"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 26,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 12,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(udpInDatagrams{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "In",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(udpOutDatagrams{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Out",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(udpInErrors{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Error",
+ "refId": "C"
+ },
+ {
+ "expr": "rate(udpNoPorts{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "NoPort",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "UDP Traffic, Non-Forward (dgram/sec)",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "UDP",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Number of ICMP messages and errors by direction and IP version.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*Out"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 27,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 12,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(icmpStatsInMsgs{icmpStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:Msg:In",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(icmpStatsOutMsgs{icmpStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:Msg:Out",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(icmpStatsInErrors{icmpStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:Error:In",
+ "refId": "C"
+ },
+ {
+ "expr": "rate(icmpStatsOutErrors{icmpStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:Error:Out",
+ "refId": "D"
+ },
+ {
+ "expr": "rate(icmpStatsInMsgs{icmpStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:Msg:In",
+ "refId": "E"
+ },
+ {
+ "expr": "rate(icmpStatsOutMsgs{icmpStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:Msg:Out",
+ "refId": "F"
+ },
+ {
+ "expr": "rate(icmpStatsInErrors{icmpStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:Error:In",
+ "refId": "G"
+ },
+ {
+ "expr": "rate(icmpStatsOutErrors{icmpStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:Error:Out",
+ "refId": "H"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "ICMP Summary",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Number of ICMP messages by type, direction, and IP version.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*Out"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 28,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 12,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(icmpMsgStatsInPkts{icmpMsgStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:{{icmpMsgStatsType}}:In",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(icmpMsgStatsOutPkts{icmpMsgStatsIPVersion=\"1\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv4:{{icmpMsgStatsType}}:Out",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(icmpMsgStatsInPkts{icmpMsgStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:{{icmpMsgStatsType}}:In",
+ "refId": "C"
+ },
+ {
+ "expr": "rate(icmpMsgStatsOutPkts{icmpMsgStatsIPVersion=\"2\", job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "IPv6:{{icmpMsgStatsType}}:Out",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "ICMP Message Type",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "ICMP",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Number of IP routing discards, total routes, and forward entries.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "short"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 29,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 12,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "ipRoutingDiscards{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Routes Discarded",
+ "refId": "A"
+ },
+ {
+ "expr": "inetCidrRouteNumber{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Route Entries",
+ "refId": "B"
+ },
+ {
+ "expr": "ipForwardNumber{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Forward Entries",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Routing/Forwarding",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Routing/Forwarding",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": false,
+ "collapsed": false,
+ "panels": [
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "Number of SNMP packets and requests by direction and type.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*Out"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 30,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(snmpInPkts{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Messages:In",
+ "refId": "A"
+ },
+ {
+ "expr": "rate(snmpOutPkts{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Messages:Out",
+ "refId": "B"
+ },
+ {
+ "expr": "rate(snmpInGetNexts{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "GetNext:In",
+ "refId": "C"
+ },
+ {
+ "expr": "rate(snmpInGetRequests{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "GetReq:In",
+ "refId": "D"
+ },
+ {
+ "expr": "rate(snmpInGetResponses{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "GetResp:In",
+ "refId": "E"
+ },
+ {
+ "expr": "rate(snmpOutGetNexts{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "GetNext:Out",
+ "refId": "F"
+ },
+ {
+ "expr": "rate(snmpOutGetRequests{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "GetReq:Out",
+ "refId": "G"
+ },
+ {
+ "expr": "rate(snmpOutGetResponses{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "GetResp:Out",
+ "refId": "H"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "SNMP Messages (/sec)",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ },
+ {
+ "aliasColors": { },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "$datasource",
+ "description": "The total number of MIB objects which have been retrieved successfully by the SNMP protocol entity as the result of receiving valid SNMP Get-Request and Get-Next PDUs.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 10,
+ "lineInterpolation": "linear",
+ "showPoints": "never"
+ },
+ "unit": "short"
+ }
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": { },
+ "id": 31,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sideWidth": null,
+ "total": false,
+ "values": false
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [ ],
+ "nullPointMode": "null",
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "last"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ }
+ },
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": null,
+ "seriesOverrides": [ ],
+ "spaceLength": 10,
+ "span": 6,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "rate(snmpInTotalReqVars{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "Objects",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "SNMP Objects Fetched (/sec)",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "timeseries",
+ "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
+ }
+ ]
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "SNMP",
+ "titleSize": "h6",
+ "type": "row"
+ }
+ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(up{snmp_target!=\"\"}, job)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(up{snmp_target!=\"\", job=~\"$job\"}, instance)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "snmp_target",
+ "multi": true,
+ "name": "snmp_target",
+ "options": [ ],
+ "query": "label_values(up{snmp_target!=\"\", job=~\"$job\", instance=~\"$instance\"}, snmp_target)",
+ "refresh": 1,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": "interface",
+ "multi": true,
+ "name": "interface",
+ "options": [ ],
+ "query": "ifNiceName{job=~\"$job\", instance=~\"$instance\", snmp_target=~\"$snmp_target\"}",
+ "refresh": 1,
+ "regex": "/ifIndex=\\\"(?[0-9]+)\\\".*nicename=\\\"(?[\\w:\\s0-9\\.]+)\\\"/",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "browser",
+ "title": "Ubiquiti EdgeRouter Overview",
+ "uid": "f7152918be0e80aa820c83bd0167701f",
+ "version": 0
+}
diff --git a/assets/ubnt-edgerouter/rules.yaml b/assets/ubnt-edgerouter/rules.yaml
new file mode 100644
index 0000000..1636f33
--- /dev/null
+++ b/assets/ubnt-edgerouter/rules.yaml
@@ -0,0 +1,5 @@
+groups:
+- name: ubnt.rules
+ rules:
+ - expr: label_join(ifAdminStatus,"nicename", ":", "ifName", "ifAlias")
+ record: ifNiceName
diff --git a/assets/varnish/alerts.yaml b/assets/varnish/alerts.yaml
new file mode 100644
index 0000000..d7edfbf
--- /dev/null
+++ b/assets/varnish/alerts.yaml
@@ -0,0 +1,67 @@
+groups:
+- name: varnish-cache
+ rules:
+ - alert: VarnishCacheLowCacheHitRate
+ annotations:
+ description: The Cache hit rate is {{ printf "%.0f" $value }} percent over the
+ last 5 minutes on {{$labels.instance}}, which is below the threshold of 80
+ percent.
+ summary: Cache is not answering a sufficient percentage of read requests.
+ expr: |
+ increase(varnish_main_cache_hit[10m]) / (clamp_min((increase(varnish_main_cache_hit[10m]) + increase(varnish_main_cache_miss[10m])), 1)) * 100 < 80 and (increase(varnish_main_cache_hit[10m]) + increase(varnish_main_cache_miss[10m]) > 0)
+ for: 10m
+ labels:
+ severity: warning
+ - alert: VarnishCacheHighMemoryUsage
+ annotations:
+ description: Current Memory Usage is {{ printf "%.0f" $value }} percent on {{$labels.instance}},
+ which is above the threshold of 90 percent.
+ summary: Varnish Cache is running low on available memory.
+ expr: |
+ (varnish_sma_g_bytes{type="s0"} / (varnish_sma_g_bytes{type="s0"} + varnish_sma_g_space{type="s0"})) * 100 > 90
+ for: 5m
+ labels:
+ severity: warning
+ - alert: VarnishCacheHighCacheEvictionRate
+ annotations:
+ description: The Cache has evicted {{ printf "%.0f" $value }} objects over the
+ last 5 minutes on {{$labels.instance}}, which is above the threshold of 0.
+ summary: The cache is evicting too many objects.
+ expr: |
+ increase(varnish_main_n_lru_nuked[5m]) > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: VarnishCacheHighSaturation
+ annotations:
+ description: The thread queue length is {{ printf "%.0f" $value }} over the
+ last 5 minutes on {{$labels.instance}}, which is above the threshold of 0.
+ summary: There are too many threads in queue, Varnish is saturated and responses
+ are slowed.
+ expr: |
+ varnish_main_thread_queue_len > 0
+ for: 5m
+ labels:
+ severity: warning
+ - alert: VarnishCacheSessionsDropping
+ annotations:
+ description: The amount of sessions dropped is {{ printf "%.0f" $value }} over
+ the last 5 minutes on {{$labels.instance}}, which is above the threshold of
+ 0.
+ summary: Incoming requests are being dropped due to a lack of free worker threads.
+ expr: |
+ increase(varnish_main_sessions{type="dropped"}[5m]) > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: VarnishCacheBackendUnhealthy
+ annotations:
+ description: The amount of unhealthy backend statuses detected is {{ printf
+ "%.0f" $value }} over the last 5 minutes on {{$labels.instance}}, which is
+ above the threshold of 0.
+ summary: Backend has been marked as unhealthy due to slow 200 responses.
+ expr: |
+ increase(varnish_main_backend_unhealthy[5m]) > 0
+ for: 5m
+ labels:
+ severity: critical
diff --git a/assets/varnish/dashboards/varnish-overview.json b/assets/varnish/dashboards/varnish-overview.json
new file mode 100644
index 0000000..d8241be
--- /dev/null
+++ b/assets/varnish/dashboards/varnish-overview.json
@@ -0,0 +1,1598 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of cache hits to misses.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "#EAB839",
+ "value": 50
+ },
+ {
+ "color": "green",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "10.0.3-cloud.4.aed62623",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg((rate(varnish_main_cache_hit{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]) / clamp_min(rate(varnish_main_cache_hit{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]) + rate(varnish_main_cache_miss{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]), 1))) * 100\n",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Cache hit rate",
+ "transparent": true,
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of requests sent to the Varnish Cache frontend.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 3,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.3-cloud.4.aed62623",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_client_req{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{nstance}}"
+ }
+ ],
+ "title": "Frontend requests",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of requests sent to the Varnish Cache backends.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 6,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.3-cloud.4.aed62623",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_backend_req{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Backend requests",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of total sessions created in the Varnish Cache instance.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "/ sec"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 9,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.3-cloud.4.aed62623",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_sessions_total{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Sessions rate",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The rate of cache hits.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "/ sec"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 12,
+ "y": 0
+ },
+ "id": 6,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.3-cloud.4.aed62623",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_cache_hit{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Cache hits",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of cache hits for pass objects (fulfilled requests that are not cached).",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "/ sec"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 15,
+ "y": 0
+ },
+ "id": 7,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.3-cloud.4.aed62623",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_cache_hitpass{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Cache hit pass",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Length of session queue waiting for threads.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 18,
+ "y": 0
+ },
+ "id": 8,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.3-cloud.4.aed62623",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "varnish_main_thread_queue_len{job=~\"$job\",instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Session queue length",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of thread pools.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 21,
+ "y": 0
+ },
+ "id": 9,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "10.0.3-cloud.4.aed62623",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "varnish_main_pools{job=~\"$job\",instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Pools",
+ "transparent": true,
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of recycled, reused, busy, unhealthy, and accepted backend connections by Varnish Cache.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineStyle": {
+ "fill": "solid"
+ },
+ "lineWidth": 1,
+ "pointSize": 1,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "conn/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 4
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_backend_conn{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - Accepted"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_backend_recycle{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - Recycled"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_backend_reuse{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - Reused"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_backend_busy{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - Busy"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_backend_unhealthy{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - Unhealthy"
+ }
+ ],
+ "title": "Backend connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of new connected, queued, and dropped sessions.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "sess/s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 4
+ },
+ "id": 11,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_sessions{job=~\"$job\",instance=~\"$instance\",type=\"conn\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - Connected"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_sessions{job=~\"$job\",instance=~\"$instance\",type=\"queued\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - Queued"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_sessions{job=~\"$job\",instance=~\"$instance\",type=\"dropped\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - Dropped"
+ }
+ ],
+ "title": "Sessions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of frontend and backend requests received.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_client_req{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - Frontend"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_backend_req{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - Backend"
+ }
+ ],
+ "title": "Requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Ratio of cache hits to cache misses.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "axisSoftMax": 100,
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "area"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "transparent",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ },
+ {
+ "color": "yellow",
+ "value": 50
+ },
+ {
+ "color": "green",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (instance, job) ((rate(varnish_main_cache_hit{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]) / clamp_min(rate(varnish_main_cache_hit{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]) + rate(varnish_main_cache_miss{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]), 1))) * 100",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Cache hit ratio",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Bytes allocated from Varnish Cache storage.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "varnish_sma_g_bytes{job=~\"$job\",instance=~\"$instance\",type=\"s0\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Memory used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of expired and LRU (least recently used) nuked objects.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_n_expired{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - Expired"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_n_lru_nuked{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - Nuked"
+ }
+ ],
+ "title": "Cache events",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate for the response bytes of header and body for frontend and backends.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 27
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_s_resp_hdrbytes{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - Frontend header"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_main_s_resp_bodybytes{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - Frontend body"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_backend_beresp_hdrbytes{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{backend}} - Backend header"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "irate(varnish_backend_beresp_bodybytes{job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - {{backend}} - Backend body"
+ }
+ ],
+ "title": "Network",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of failed, created, limited, and current threads.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "A"
+ },
+ "properties": [
+ {
+ "id": "custom.fillOpacity",
+ "value": 20
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "B"
+ },
+ "properties": [
+ {
+ "id": "custom.fillOpacity",
+ "value": 20
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byFrameRefID",
+ "options": "C"
+ },
+ "properties": [
+ {
+ "id": "custom.fillOpacity",
+ "value": 20
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 27
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "right",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(varnish_main_threads_failed{job=~\"$job\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - Failed"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(varnish_main_threads_created{job=~\"$job\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - Created"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(varnish_main_threads_limited{job=~\"$job\",instance=~\"$instance\"}[$__interval:])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - Limited"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "varnish_main_threads{job=~\"$job\",instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}} - Total"
+ }
+ ],
+ "title": "Threads",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 37
+ },
+ "id": 18,
+ "targets": [ ],
+ "title": "Logs",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "Client logs for Varnish Cache.",
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 38
+ },
+ "id": 19,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{filename=~\"/var/log/varnish/varnishncsa-frontend.*.log|/opt/varnish/log/varnishncsa-frontend.*.log\", job=~\"$job\", instance=~\"$instance\"}",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Frontend logs",
+ "type": "logs"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "Backend logs for Varnish Cache.",
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 46
+ },
+ "id": 20,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{filename=~\"/var/log/varnish/varnishncsa-backend.*.log|/opt/varnish/log/varnishncsa-backend.*.log\", job=~\"$job\", instance=~\"$instance\"}",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Backend logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "varnish-cache-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki Datasource",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(varnish_main_sessions,job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(varnish_main_sessions,instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Varnish overview",
+ "uid": "varnish-overview",
+ "version": 0
+}
diff --git a/assets/varnish/rules.yaml b/assets/varnish/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/varnish/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/vault/alerts.yaml b/assets/vault/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/vault/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/vault/dashboards/vault.json b/assets/vault/dashboards/vault.json
new file mode 100644
index 0000000..228fd74
--- /dev/null
+++ b/assets/vault/dashboards/vault.json
@@ -0,0 +1,2808 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "Hashicorp Vault metrics",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 12904,
+ "graphTooltip": 1,
+ "id": 121,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "Standby"
+ },
+ "1": {
+ "text": "Active"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "green",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "Misc"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 9,
+ "x": 0,
+ "y": 0
+ },
+ "id": 39,
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "up{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "interval": "",
+ "legendFormat": "{{ instance }}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Healthy status",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto",
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Number of entries"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "basic"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mount path"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": 113
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 5,
+ "x": 9,
+ "y": 0
+ },
+ "id": 59,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "Number of entries"
+ }
+ ]
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "last_over_time(vault_secret_kv_count{job=~\"$job\", instance=~\"$instance\", mount_point=~\"$mountpoint/\"}[$__range])",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "{{ mount_point }}",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "title": "Secrets",
+ "transformations": [
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "Mount path": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Number of entries": {
+ "aggregations": [
+ "last"
+ ],
+ "operation": "aggregate"
+ },
+ "Value": {
+ "aggregations": [
+ "last"
+ ],
+ "operation": "aggregate"
+ },
+ "mount_point": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ }
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "__name__": true,
+ "cluster": true,
+ "env": true,
+ "instance": true,
+ "job": true,
+ "namespace": true,
+ "project": true
+ },
+ "indexByName": { },
+ "renameByName": {
+ "Value": "Number of entries",
+ "Value (last)": "Number of entries",
+ "mount_point": "Mount path"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 14,
+ "y": 0
+ },
+ "id": 78,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(vault_identity_num_entities{job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Number of identity entities",
+ "type": "stat"
+ },
+ {
+ "aliasColors": { },
+ "breakPoint": "50%",
+ "combine": {
+ "label": "Others",
+ "threshold": 0
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ "mappings": [ ]
+ },
+ "overrides": [ ]
+ },
+ "fontSize": "80%",
+ "format": "short",
+ "gridPos": {
+ "h": 6,
+ "w": 5,
+ "x": 19,
+ "y": 0
+ },
+ "id": 49,
+ "legend": {
+ "header": "count",
+ "percentage": false,
+ "show": true,
+ "values": true
+ },
+ "legendType": "Right side",
+ "links": [ ],
+ "maxDataPoints": 1,
+ "nullPointMode": "connected",
+ "options": {
+ "legend": {
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "pieType": "pie",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pieType": "pie",
+ "pluginVersion": "7.0.3",
+ "strokeWidth": "3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg without(instance) (vault_identity_entity_alias_count{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "",
+ "legendFormat": "{{ auth_method }}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Identity entities aliases by method",
+ "type": "piechart",
+ "valueName": "current"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "1": {
+ "text": "SEALED"
+ },
+ "2": {
+ "text": "UNSEALED"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "noValue": "N/A",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "yellow",
+ "value": 1
+ },
+ {
+ "color": "green",
+ "value": 2
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 9,
+ "x": 0,
+ "y": 3
+ },
+ "id": 47,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "max(1 + vault_core_unsealed{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "",
+ "legendFormat": "{{ instance }}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Sealed status",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 100
+ },
+ {
+ "color": "#EF843C",
+ "value": 200
+ },
+ {
+ "color": "red",
+ "value": 400
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 14,
+ "y": 3
+ },
+ "id": 95,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(vault_expire_num_leases{job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Number of leases",
+ "type": "stat"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 6
+ },
+ "id": 74,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Operations",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Read"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 0,
+ "y": 7
+ },
+ "id": 24,
+ "interval": "1m",
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "max",
+ "sum"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase({__name__=\"vault_route_create_${mountpoint}__count\",job=~\"$job\", instance=~\"$instance\"}[$__interval]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "5m",
+ "legendFormat": "Create",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase({__name__=\"vault_route_delete_${mountpoint}__count\",job=~\"$job\", instance=~\"$instance\"}[$__interval]))",
+ "hide": false,
+ "interval": "5m",
+ "legendFormat": "Delete",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase({__name__=\"vault_route_read_${mountpoint}__count\",job=~\"$job\", instance=~\"$instance\"}[$__interval]))",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "Read",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase({__name__=\"vault_route_list_${mountpoint}__count\",job=~\"$job\", instance=~\"$instance\"}[$__interval]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "5m",
+ "legendFormat": "List",
+ "range": true,
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(increase({__name__=\"vault_route_rollback_${mountpoint}__count\",job=~\"$job\", instance=~\"$instance\"}[$__interval]))",
+ "hide": false,
+ "interval": "5m",
+ "legendFormat": "Rollback",
+ "range": true,
+ "refId": "E"
+ }
+ ],
+ "title": "Number of operations / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Time of one operation",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "noValue": "0",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "µs"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Read"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 7
+ },
+ "id": 35,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(rate(vault_route_create_${mountpoint}__sum{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) / rate(vault_route_create_${mountpoint}__count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) * 1000)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Create",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(rate(vault_route_delete_${mountpoint}__sum{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) / rate(vault_route_delete_${mountpoint}__count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) * 1000)",
+ "interval": "",
+ "legendFormat": "Delete",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(rate(vault_route_read_${mountpoint}__sum{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) / rate(vault_route_read_${mountpoint}__count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) * 1000)",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Read",
+ "range": true,
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(rate(vault_route_list_${mountpoint}__sum{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) / rate(vault_route_list_${mountpoint}__count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) * 1000)",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "List",
+ "range": true,
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(rate(vault_route_rollback_${mountpoint}__sum{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) / rate(vault_route_rollback_${mountpoint}__count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]) * 1000)",
+ "hide": true,
+ "interval": "",
+ "legendFormat": "Rollback",
+ "range": true,
+ "refId": "E"
+ }
+ ],
+ "title": "Time of operations in \"$mountpoint\"",
+ "type": "timeseries"
+ }
+ ],
+ "repeat": "mountpoint",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Path info $mountpoint",
+ "type": "row"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 9
+ },
+ "id": 45,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Resource usage",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [ ],
+ "noValue": "N/A",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0.20000000000000001
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 0,
+ "y": 10
+ },
+ "id": 41,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(vault_runtime_heap_objects{job=~\"$job\", instance=~\"$instance\"} / vault_runtime_malloc_count{job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "intervalFactor": 10,
+ "legendFormat": "",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Heap objects used",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [ ],
+ "noValue": "N/A",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "purple",
+ "value": null
+ },
+ {
+ "color": "#EAB839",
+ "value": 70
+ },
+ {
+ "color": "#EF843C",
+ "value": 100
+ },
+ {
+ "color": "#E24D42",
+ "value": 150
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 3,
+ "y": 10
+ },
+ "id": 76,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(vault_runtime_num_goroutines{job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Goroutines",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Allocated bytes"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 18,
+ "x": 6,
+ "y": 10
+ },
+ "id": 43,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(vault_runtime_alloc_bytes{job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "intervalFactor": 5,
+ "legendFormat": "Allocated bytes",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Allocated bytes",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 15
+ },
+ "id": 16,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Tokens",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [ ],
+ "noValue": "N/A",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "purple",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 0,
+ "y": 16
+ },
+ "id": 53,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(vault_token_count{job=~\"$job\", instance=~\"$instance\"})",
+ "interval": "",
+ "legendFormat": "",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Available tokens",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlPu"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 21,
+ "x": 3,
+ "y": 16
+ },
+ "id": 108,
+ "options": {
+ "displayMode": "basic",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "sum by(policy) (vault_token_count_by_policy{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "table",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "{{ policy }}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Tokens by policy",
+ "transformations": [
+ {
+ "id": "sortBy",
+ "options": {
+ "fields": { },
+ "sort": [
+ {
+ "desc": true,
+ "field": "Value"
+ }
+ ]
+ }
+ },
+ {
+ "id": "prepareTimeSeries",
+ "options": {
+ "format": "many"
+ }
+ }
+ ],
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [ ],
+ "noValue": "0",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "blue",
+ "value": null
+ },
+ {
+ "color": "orange",
+ "value": 1
+ },
+ {
+ "color": "red",
+ "value": 3
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 0,
+ "y": 20
+ },
+ "id": 8,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(vault_token_create_count{job=~\"$job\", instance=~\"$instance\"} - vault_token_store_count{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Pending tokens",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlPu"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 102,
+ "options": {
+ "displayMode": "basic",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg by(creation_ttl) (vault_token_count_by_ttl{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "table",
+ "interval": "",
+ "legendFormat": "{{ creation_ttl }}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Tokens by TTL",
+ "transformations": [
+ {
+ "id": "sortBy",
+ "options": {
+ "fields": { },
+ "sort": [
+ {
+ "desc": true,
+ "field": "Value"
+ }
+ ]
+ }
+ },
+ {
+ "id": "prepareTimeSeries",
+ "options": {
+ "format": "many"
+ }
+ }
+ ],
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlPu"
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 100,
+ "options": {
+ "displayMode": "basic",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg by(auth_method) (vault_token_count_by_auth{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "table",
+ "interval": "",
+ "legendFormat": "{{ auth_method }}",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Tokens by auth method",
+ "transformations": [
+ {
+ "id": "sortBy",
+ "options": {
+ "fields": { },
+ "sort": [
+ {
+ "desc": true,
+ "field": "Value"
+ }
+ ]
+ }
+ },
+ {
+ "id": "prepareTimeSeries",
+ "options": {
+ "format": "many"
+ }
+ }
+ ],
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 30
+ },
+ "id": 65,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg by(auth_method, creation_ttl) (sum_over_time(vault_token_creation{job=~\"$job\", instance=~\"$instance\"}[$__interval]))",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ auth_method }} - {{ creation_ttl }}",
+ "refId": "A"
+ }
+ ],
+ "title": "Tokens creation by method and TTL",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 25,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Store"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 30
+ },
+ "id": 6,
+ "interval": "1m",
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg without(instance) (vault_token_create_count{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Create",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg without(instance) (vault_token_store_count{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Store",
+ "refId": "B"
+ }
+ ],
+ "title": "Token creation/storage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Lookups per second",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Lookup"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0a50a1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Lookups"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 36
+ },
+ "id": 14,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(irate(vault_token_lookup_count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "Lookups",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Token lookups",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 42
+ },
+ "id": 20,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Audit",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 0,
+ "y": 43
+ },
+ "id": 97,
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "max(idelta(vault_audit_log_request_failure{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "",
+ "legendFormat": "Request",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Log request failures",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Requests per second",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 11,
+ "x": 3,
+ "y": 43
+ },
+ "id": 4,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(irate(vault_audit_log_request_count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Request ",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(irate(vault_audit_log_response_count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Response",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(irate(vault_core_handle_request_count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Handled",
+ "range": true,
+ "refId": "C"
+ }
+ ],
+ "title": "Log requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Requests per second",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 10,
+ "x": 14,
+ "y": 43
+ },
+ "id": 61,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(irate(vault_consul_get_count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "GET",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(irate(vault_consul_put_count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "PUT",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(irate(vault_consul_delete_count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "interval": "",
+ "legendFormat": "DELETE",
+ "range": true,
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "irate(vault_consul_list_count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "LIST",
+ "range": true,
+ "refId": "D"
+ }
+ ],
+ "title": "Consul requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 1
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 3,
+ "x": 0,
+ "y": 48
+ },
+ "id": 98,
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "max(idelta(vault_audit_log_response_failure{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "",
+ "legendFormat": "Request",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Log response failures",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 53
+ },
+ "id": 18,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Policy",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "set"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629e51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 54
+ },
+ "id": 10,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(irate(vault_policy_set_policy_count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "SET",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Policy set",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "GET"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#1f78c1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 54
+ },
+ "id": 12,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(irate(vault_policy_get_policy_count{job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "GET",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Policy get",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 37,
+ "style": "dark",
+ "tags": [
+ "vault"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "Prometheus",
+ "value": "Prometheus"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Prometheus data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": "",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(vault_core_active, job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(vault_core_active, job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(vault_core_active{job=~\"$job\"}, instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(vault_core_active{job=~\"$job\"}, instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(vault_secret_kv_count{job=~\"$job\",instance=~\"$instance\"}, mount_point)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "mountpoint",
+ "multi": true,
+ "name": "mountpoint",
+ "options": [ ],
+ "query": {
+ "query": "label_values(vault_secret_kv_count{job=~\"$job\",instance=~\"$instance\"}, mount_point)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "(.+)/",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "Hashicorp Vault",
+ "uid": "vaults",
+ "version": 24,
+ "weekStart": ""
+}
diff --git a/assets/vault/rules.yaml b/assets/vault/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/vault/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/velero/alerts.yaml b/assets/velero/alerts.yaml
new file mode 100644
index 0000000..6339d39
--- /dev/null
+++ b/assets/velero/alerts.yaml
@@ -0,0 +1,43 @@
+groups:
+- name: velero
+ rules:
+ - alert: VeleroBackupFailure
+ annotations:
+ description: |
+ Backup failures detected on {{ $labels.instance }}. This could lead to data loss or inability to recover in case of a disaster.
+ summary: Velero backup failures detected.
+ expr: |
+ increase(velero_backup_failure_total{job=~"integrations/velero"}[5m]) > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: VeleroHighBackupDuration
+ annotations:
+ description: |
+ Backup duration on {{ $labels.instance }} is higher than the average duration over the past 48 hours. This could indicate performance issues or network congestion. The current value is {{ $value | printf "%.2f" }} seconds.
+ summary: Velero backups taking longer than usual.
+ expr: |
+ histogram_quantile(0.5, sum(rate(velero_backup_duration_seconds_bucket{job=~"integrations/velero"}[5m])) by (le, schedule)) > 1.2 * 1.2 * avg_over_time(histogram_quantile(0.5, sum(rate(velero_backup_duration_seconds_bucket{job=~"integrations/velero"}[48h])) by (le, schedule))[5m:])
+ for: 5m
+ labels:
+ severity: warning
+ - alert: VeleroHighRestoreFailureRate
+ annotations:
+ description: |
+ Restore failures detected on {{ $labels.instance }}. This could prevent timely data recovery and business continuity.
+ summary: Velero restore failures detected.
+ expr: |
+ increase(velero_restore_failed_total{job=~"integrations/velero"}[5m]) > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: VeleroUpStatus
+ annotations:
+ description: "Cannot find any metrics related to Velero on {{ $labels.instance
+ }}. This may indicate further issues with Velero or the scraping agent. \n"
+ summary: Velero is down.
+ expr: |
+ up{job=~"integrations/velero"} != 0
+ for: 5m
+ labels:
+ severity: critical
diff --git a/assets/velero/dashboards/clusterOverview b/assets/velero/dashboards/clusterOverview
new file mode 100644
index 0000000..173bbc8
--- /dev/null
+++ b/assets/velero/dashboards/clusterOverview
@@ -0,0 +1,612 @@
+{
+ "links": [
+ {
+ "keepTime": true,
+ "title": "Velero logs",
+ "type": "link",
+ "url": "/d/velero-logs"
+ },
+ {
+ "keepTime": true,
+ "title": "Velero overview",
+ "type": "link",
+ "url": "/d/velero-overview"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of successful backups across all clusters.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "area",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (cluster) ((increase(velero_backup_success_total{job=~\"$job\",cluster=~\"$cluster\"}[$__interval:])))",
+ "legendFormat": "Backups"
+ }
+ ],
+ "title": "Successful backups / $__interval ",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of failed backups across all clusters",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 4,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "area",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (cluster) ((increase(velero_backup_failure_total{job=~\"$job\",cluster=~\"$cluster\"}[$__interval:])))",
+ "legendFormat": "Backups"
+ }
+ ],
+ "title": "Failed backups / $__interval ",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of succesful restores across all clusters.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 8,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "area",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (cluster) ((increase(velero_restore_success_total{job=~\"$job\",cluster=~\"$cluster\"}[$__interval:])))",
+ "legendFormat": "Restores"
+ }
+ ],
+ "title": "Succesful restores / $__interval ",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of failed restores across all clusters.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 12,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "area",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (cluster) ((increase(velero_restore_failed_total{job=~\"$job\",cluster=~\"$cluster\"}[$__interval:])))",
+ "legendFormat": "Restores"
+ }
+ ],
+ "title": "Failed restores / $__interval ",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "description": "Status of firing alerts for Velero.",
+ "gridPos": {
+ "h": 4,
+ "w": 8,
+ "x": 16,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "alertInstanceLabelFilter": "job=~\"${job:regex}\",cluster=~\"${cluster:regex}\""
+ },
+ "pluginVersion": "v10.0.0",
+ "title": "Velero alerts",
+ "type": "alertlist"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The top clusters by number of backups.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(cluster)($top_cluster_count, sum by (cluster) (increase(velero_backup_success_total{job=~\"$job\",cluster=~\"$cluster\"}[$__interval:])))",
+ "legendFormat": "{{cluster}} - success"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(cluster)($top_cluster_count, sum by (cluster) (increase(velero_backup_failure_total{job=~\"$job\",cluster=~\"$cluster\"}[$__interval:])))",
+ "legendFormat": "{{cluster}} - failure"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(cluster)($top_cluster_count, sum by (cluster) (increase(velero_backup_attempt_total{job=~\"$job\",cluster=~\"$cluster\"}[$__interval:])))",
+ "legendFormat": "{{cluster}} - attempt"
+ }
+ ],
+ "title": "Top clusters by backups / $__interval ",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top clusters by number of restores.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(cluster)($top_cluster_count, sum by (cluster) (increase(velero_restore_success_total{job=~\"$job\",cluster=~\"$cluster\"}[$__interval:])))",
+ "legendFormat": "{{cluster}} - success"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(cluster)($top_cluster_count, sum by (cluster) (increase(velero_restore_failed_total{job=~\"$job\",cluster=~\"$cluster\"}[$__interval:])))",
+ "legendFormat": "{{cluster}} - failure"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(cluster)($top_cluster_count, sum by (cluster) (increase(velero_restore_success_total{job=~\"$job\",cluster=~\"$cluster\"}[$__interval:])))",
+ "legendFormat": "{{cluster}} - attempt"
+ }
+ ],
+ "title": "Top clusters by restores / $__interval ",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top clusters by size of backups.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "decbytes"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 12
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(cluster)($top_cluster_count, sum by (cluster) (velero_backup_tarball_size_bytes{job=~\"$job\",cluster=~\"$cluster\"}))",
+ "legendFormat": "{{cluster}}"
+ }
+ ],
+ "title": "Top clusters by backup size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top clusters by number of volume snapshots.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 18
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(cluster)($top_cluster_count, sum by (cluster) (increase(velero_volume_snapshot_success_total{job=~\"$job\",cluster=~\"$cluster\"}[$__interval:])))",
+ "legendFormat": "{{cluster}} - success"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(cluster)($top_cluster_count, sum by (cluster) (increase(velero_volume_snapshot_failure_total{job=~\"$job\",cluster=~\"$cluster\"}[$__interval:])))",
+ "legendFormat": "{{cluster}} - failure"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(cluster)($top_cluster_count, sum by (cluster) (increase(velero_volume_snapshot_attempt_total{job=~\"$job\",cluster=~\"$cluster\"}[$__interval:])))",
+ "legendFormat": "{{cluster}} - attempt"
+ }
+ ],
+ "title": "Top clusters by volume snapshots / $__interval ",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Top clusters by number of CSI snapshots.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(cluster)($top_cluster_count, sum by (cluster) (increase(velero_csi_snapshot_success_total{job=~\"$job\",cluster=~\"$cluster\"}[$__interval:])))",
+ "legendFormat": "{{cluster}} - success"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(cluster)($top_cluster_count, sum by (cluster) (increase(velero_csi_snapshot_failure_total{job=~\"$job\",cluster=~\"$cluster\"}[$__interval:])))",
+ "legendFormat": "{{cluster}} - failure"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "topk by(cluster)($top_cluster_count, sum by (cluster) (increase(velero_csi_snapshot_attempt_total{job=~\"$job\",cluster=~\"$cluster\"}[$__interval:])))",
+ "legendFormat": "{{cluster}} - attempt"
+ }
+ ],
+ "title": "Top clusters by CSI snapshots / $__interval ",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "velero"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Prometheus data source",
+ "name": "prometheus_datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(velero_backup_success_total{job=~\"integrations/velero\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "query": "label_values(velero_backup_success_total{job=~\"integrations/velero\",job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "2",
+ "value": "2"
+ },
+ "description": "This variable allows for modification of top cluster value.",
+ "label": "Top cluster count",
+ "name": "top_cluster_count",
+ "options": [
+ {
+ "selected": true,
+ "text": "2",
+ "value": "2"
+ },
+ {
+ "selected": false,
+ "text": "4",
+ "value": "4"
+ },
+ {
+ "selected": false,
+ "text": "6",
+ "value": "6"
+ },
+ {
+ "selected": false,
+ "text": "8",
+ "value": "8"
+ },
+ {
+ "selected": false,
+ "text": "10",
+ "value": "10"
+ }
+ ],
+ "query": "2 : 2,4 : 4,6 : 6,8 : 8,10 : 10",
+ "type": "custom"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "Velero cluster view",
+ "uid": "velero-cluster-view"
+}
diff --git a/assets/velero/dashboards/logs b/assets/velero/dashboards/logs
new file mode 100644
index 0000000..2ac6aab
--- /dev/null
+++ b/assets/velero/dashboards/logs
@@ -0,0 +1,302 @@
+{
+ "links": [
+ {
+ "keepTime": true,
+ "title": "Velero cluster view",
+ "type": "link",
+ "url": "/d/velero-cluster-view"
+ },
+ {
+ "keepTime": true,
+ "title": "Velero overview",
+ "type": "link",
+ "url": "/d/velero-overview"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Logs volume grouped by \"level\" label.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "drawStyle": "bars",
+ "fillOpacity": 50,
+ "stacking": {
+ "mode": "normal"
+ }
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)merg|(F|f)atal|(A|a)lert|(C|c)rit.*"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)(rr.*|RR.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(W|w)(arn.*|ARN.*|rn|RN)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(N|n)(otice|ote)|(I|i)(nf.*|NF.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "dbg.*|DBG.*|(D|d)(EBUG|ebug)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(T|t)(race|RACE)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "logs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24
+ },
+ "id": 1,
+ "interval": "30s",
+ "options": {
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "sum by (level) (count_over_time({job=~\"integrations/velero\",job=~\"$job\",instance=~\"$instance\",level=~\"$level\"}\n|~ \"$regex_search\"\n\n[$__interval]))\n",
+ "legendFormat": "{{ level }}"
+ }
+ ],
+ "title": "Logs volume",
+ "transformations": [
+ {
+ "id": "renameByRegex",
+ "options": {
+ "regex": "Value",
+ "renamePattern": "logs"
+ }
+ }
+ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "gridPos": {
+ "h": 18,
+ "w": 24
+ },
+ "id": 2,
+ "options": {
+ "dedupStrategy": "exact",
+ "enableLogDetails": true,
+ "prettifyLogMessage": true,
+ "showTime": false,
+ "wrapLogMessage": false
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "{job=~\"integrations/velero\",job=~\"$job\",instance=~\"$instance\",level=~\"$level\"} \n|~ \"$regex_search\"\n\n\n"
+ }
+ ],
+ "title": "Logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "velero"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values({job=~\"integrations/velero\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values({job=~\"integrations/velero\",job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Level",
+ "multi": true,
+ "name": "level",
+ "query": "label_values({job=~\"integrations/velero\",job=~\"$job\",instance=~\"$instance\"}, level)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "",
+ "value": ""
+ },
+ "label": "Regex search",
+ "name": "regex_search",
+ "options": [
+ {
+ "selected": true,
+ "text": "",
+ "value": ""
+ }
+ ],
+ "query": "",
+ "type": "textbox"
+ },
+ {
+ "hide": 2,
+ "label": "Prometheus data source",
+ "name": "prometheus_datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "Velero logs",
+ "uid": "velero-logs"
+}
diff --git a/assets/velero/dashboards/overview b/assets/velero/dashboards/overview
new file mode 100644
index 0000000..fde360b
--- /dev/null
+++ b/assets/velero/dashboards/overview
@@ -0,0 +1,956 @@
+{
+ "links": [
+ {
+ "keepTime": true,
+ "title": "Velero logs",
+ "type": "link",
+ "url": "/d/velero-logs"
+ },
+ {
+ "keepTime": true,
+ "title": "Velero cluster view",
+ "type": "link",
+ "url": "/d/velero-cluster-view"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Success rate of backups within the instance in the past hour.",
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "steps": [
+ {
+ "color": "super-light-red",
+ "value": 0.5
+ },
+ {
+ "color": "super-light-green",
+ "value": 0.90000000000000002
+ }
+ ]
+ },
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (instance) (label_replace(increase(velero_backup_success_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}[1h]), \"schedule\", \"none\", \"schedule\", \"^$\") / label_replace(increase(velero_backup_attempt_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}[1h]), \"schedule\", \"none\", \"schedule\", \"^$\") > 0)",
+ "legendFormat": "{{schedule}}"
+ }
+ ],
+ "title": "Backup success rate (1 hour)",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Success rate of restores within the instance in the past hour.",
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "steps": [
+ {
+ "color": "super-light-red",
+ "value": 0.5
+ },
+ {
+ "color": "super-light-green",
+ "value": 0.90000000000000002
+ }
+ ]
+ },
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 4,
+ "y": 0
+ },
+ "id": 2,
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "avg by (instance) (label_replace(increase(velero_restore_success_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}[1h]), \"schedule\", \"none\", \"schedule\", \"^$\") / label_replace(increase(velero_restore_attempt_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}[1h]), \"schedule\", \"none\", \"schedule\", \"^$\") > 0)",
+ "legendFormat": "{{schedule}}"
+ }
+ ],
+ "title": "Restore success rate (1 hour)",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of successful backups.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 8,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "area",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(increase(velero_backup_success_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}[$__interval:]))",
+ "legendFormat": "Backups"
+ }
+ ],
+ "title": "Successful backups / $__interval ",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of failed backups.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 12,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "area",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(increase(velero_backup_failure_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}[$__interval:]))",
+ "legendFormat": "Backups"
+ }
+ ],
+ "title": "Failed backups / $__interval ",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of failed restore validations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 16,
+ "y": 0
+ },
+ "id": 5,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "area",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(increase(label_replace(velero_restore_validation_failed_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:]))",
+ "legendFormat": "failure"
+ }
+ ],
+ "title": "Restore validation failure / $__interval ",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of failed backup validations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 20,
+ "y": 0
+ },
+ "id": 6,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "area",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(increase(label_replace(velero_backup_validation_failure_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:]))",
+ "legendFormat": "failure"
+ }
+ ],
+ "title": "Backup validation failure / $__interval ",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 4
+ },
+ "id": 7,
+ "title": "Backup",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of failed and successful backups.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 16,
+ "x": 0,
+ "y": 5
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(label_replace(velero_backup_success_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:])",
+ "legendFormat": "{{schedule}} - success"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(label_replace(velero_backup_failure_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:])",
+ "legendFormat": "{{schedule}} - failure"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(label_replace(velero_backup_attempt_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:])",
+ "legendFormat": "{{schedule}} - attempt"
+ }
+ ],
+ "title": "Backup count / $__interval ",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Success rate of backups.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "max": 1,
+ "min": 0,
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 5
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(label_replace(velero_backup_success_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__rate_interval:]) / clamp_min(rate(label_replace(velero_backup_attempt_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__rate_interval:]),1)",
+ "legendFormat": "{{schedule}}"
+ }
+ ],
+ "title": "Backup success rate / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Size of backups for this clusters given schedule.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "decbytes"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 11
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "label_replace(velero_backup_tarball_size_bytes{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")",
+ "legendFormat": "{{schedule}}"
+ }
+ ],
+ "title": "Backup size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "The time it took to create backups.",
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 17
+ },
+ "id": 11,
+ "options": {
+ "calculate": "true",
+ "legend": "true",
+ "yAxis": {
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum(increase(label_replace(velero_backup_duration_seconds_bucket{le!=\"+Inf\", job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:])) by (le)"
+ }
+ ],
+ "title": "Backup time",
+ "type": "heatmap"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 23
+ },
+ "id": 12,
+ "title": "Restore",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of failed and successful restores.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 16,
+ "x": 0,
+ "y": 24
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(label_replace(velero_restore_success_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:])",
+ "legendFormat": "{{schedule}} - success"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(label_replace(velero_restore_failed_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:])",
+ "legendFormat": "{{schedule}} - failure"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(label_replace(velero_restore_attempt_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:])",
+ "legendFormat": "{{schedule}} - attempt"
+ }
+ ],
+ "title": "Restore count / $__interval ",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Success rate of restores.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "max": 1,
+ "min": 0,
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 24
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(label_replace(velero_restore_success_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:]) / clamp_min(increase(label_replace(velero_restore_attempt_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:]),1)",
+ "legendFormat": "{{schedule}}"
+ }
+ ],
+ "title": "Restore success rate / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 30
+ },
+ "id": 15,
+ "title": "CSI snapshots",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of failed and successful CSI snapshots.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 16,
+ "x": 0,
+ "y": 31
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (schedule) (increase(label_replace(velero_csi_snapshot_success_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:]))",
+ "legendFormat": "{{schedule}} - success"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (schedule) (increase(label_replace(velero_csi_snapshot_success_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:]))",
+ "legendFormat": "{{schedule}} - failure"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (schedule) (increase(label_replace(velero_csi_snapshot_attempt_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:]))",
+ "legendFormat": "{{schedule}} - attempt"
+ }
+ ],
+ "title": "CSI snapshot count / $__interval ",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Success rate of CSI snapshots.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "max": 1,
+ "min": 0,
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 31
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "sum by (schedule) (increase(label_replace(velero_csi_snapshot_success_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:]) / clamp_min(increase(label_replace(velero_csi_snapshot_attempt_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:]),1)) ",
+ "legendFormat": "{{schedule}}"
+ }
+ ],
+ "title": "CSI snapshot success rate / $__interval",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 37
+ },
+ "id": 18,
+ "title": "Volume snapshots",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of failed and successful volume snapshots.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 16,
+ "x": 0,
+ "y": 38
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(label_replace(velero_volume_snapshot_success_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:])",
+ "legendFormat": "{{schedule}} - success"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(label_replace(velero_volume_snapshot_failure_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:])",
+ "legendFormat": "{{schedule}} - failure"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(label_replace(velero_volume_snapshot_attempt_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:])",
+ "legendFormat": "{{schedule}} - attempt"
+ }
+ ],
+ "title": "Volume snapshot count / $__interval ",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Success rate of volume snapshots.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "max": 1,
+ "min": 0,
+ "unit": "percentunit"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 8,
+ "x": 16,
+ "y": 38
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(label_replace(velero_volume_snapshot_success_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:]) / clamp_min(increase(label_replace(velero_volume_snapshot_attempt_total{job=~\"$job\",cluster=~\"$cluster\",instance=~\"$instance\",schedule=~\"$schedule\"}, \"schedule\", \"none\", \"schedule\", \"^$\")[$__interval:]),1)",
+ "legendFormat": "{{schedule}}"
+ }
+ ],
+ "title": "Volume snapshot success rate / $__interval",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "velero"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Prometheus data source",
+ "name": "prometheus_datasource",
+ "query": "prometheus",
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": false,
+ "label": "Job",
+ "multi": false,
+ "name": "job",
+ "query": "label_values(velero_backup_attempt_total{}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": false,
+ "label": "Cluster",
+ "multi": false,
+ "name": "cluster",
+ "query": "label_values(velero_backup_attempt_total{job=~\"$job\"}, cluster)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": false,
+ "label": "Instance",
+ "multi": false,
+ "name": "instance",
+ "query": "label_values(velero_backup_attempt_total{}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${prometheus_datasource}"
+ },
+ "includeAll": true,
+ "label": "Schedule",
+ "multi": true,
+ "name": "schedule",
+ "query": "label_values(velero_backup_attempt_total{job=~\"$job\", cluster=~\"$cluster\", instance=~\"$instance\"}, schedule)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "Velero overview",
+ "uid": "velero-overview"
+}
diff --git a/assets/velero/rules.yaml b/assets/velero/rules.yaml
new file mode 100644
index 0000000..0967ef4
--- /dev/null
+++ b/assets/velero/rules.yaml
@@ -0,0 +1 @@
+{}
diff --git a/assets/wildfly/alerts.yaml b/assets/wildfly/alerts.yaml
new file mode 100644
index 0000000..be9ff3f
--- /dev/null
+++ b/assets/wildfly/alerts.yaml
@@ -0,0 +1,23 @@
+groups:
+- name: wildfly
+ rules:
+ - alert: HighPercentageOfErrorResponses
+ annotations:
+ description: |
+ The percentage of error responses is {{ printf "%.2f" $value }} on {{ $labels.instance }} - {{ $labels.server }} which is higher than {{30 }}.
+ summary: Large percentage of requests are resulting in 5XX responses.
+ expr: |
+ sum by (job, instance, server) (increase(wildfly_undertow_error_count_total{}[5m]) / increase(wildfly_undertow_request_count_total{}[5m])) * 100 > 30
+ for: 5m
+ labels:
+ severity: critical
+ - alert: HighNumberOfRejectedSessionsForDeployment
+ annotations:
+ description: |
+ Deployemnt {{ $labels.deployment }} on {{ $labels.instance }} is exceeding the threshold for rejected sessions {{ printf "%.0f" $value }} is higher than 20.
+ summary: Large number of sessions are being rejected for a deployment.
+ expr: |
+ sum by (deployment, instance, job) (increase(wildfly_undertow_rejected_sessions_total{}[5m])) > 20
+ for: 5m
+ labels:
+ severity: critical
diff --git a/assets/wildfly/dashboards/wildfly-datasource.json b/assets/wildfly/dashboards/wildfly-datasource.json
new file mode 100644
index 0000000..67bbac0
--- /dev/null
+++ b/assets/wildfly/dashboards/wildfly-datasource.json
@@ -0,0 +1,603 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "wildfly-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Wildfly Dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Connections to the datasource over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 1
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "wildfly_datasources_pool_in_use_count{job=~\"$job\", instance=~\"$instance\", data_source=~\"$datasource\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{data_source}}"
+ }
+ ],
+ "title": "Active connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Connections to the datasource over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 1
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "wildfly_datasources_pool_idle_count{job=~\"$job\", instance=~\"$instance\", data_source=~\"$datasource\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{data_source}}"
+ }
+ ],
+ "title": "Idle connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of transactions that were created over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(wildfly_transactions_number_of_transactions_total{job=~\"$job\", instance=~\"$instance\"}[$__interval])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Created transactions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of transactions that are in-flight over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "wildfly_transactions_number_of_inflight_transactions{job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "In-flight transactions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of transactions that have been aborted over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 15
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(wildfly_transactions_number_of_aborted_transactions_total{job=~\"$job\", instance=~\"$instance\"}[$__interval])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "Aborted transactions",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "wildfly-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(wildfly_batch_jberet_active_count{}, job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Instance",
+ "multi": false,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(wildfly_batch_jberet_active_count{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Wildfly datasource",
+ "multi": true,
+ "name": "datasource",
+ "options": [ ],
+ "query": "label_values(wildfly_datasources_pool_idle_count{}, data_source)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Wildfly datasource",
+ "uid": "wildfly-datasource",
+ "version": 0
+}
diff --git a/assets/wildfly/dashboards/wildfly-overview.json b/assets/wildfly/dashboards/wildfly-overview.json
new file mode 100644
index 0000000..ae93f57
--- /dev/null
+++ b/assets/wildfly/dashboards/wildfly-overview.json
@@ -0,0 +1,875 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [
+ {
+ "asDropdown": false,
+ "icon": "external link",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "wildfly-mixin"
+ ],
+ "targetBlank": false,
+ "title": "Wildfly Dashboards",
+ "type": "dashboards",
+ "url": ""
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Requests rate over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(wildfly_undertow_request_count_total{server=~\"$server\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{server}} - {{http_listener}}{{https_listener}}"
+ }
+ ],
+ "title": "Requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Rate of requests that result in 500 over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(wildfly_undertow_error_count_total{server=~\"$server\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{server}} - {{http_listener}}{{https_listener}}"
+ }
+ ],
+ "title": "Request errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Throughput rate of data received over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "binBps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(wildfly_undertow_bytes_received_total_bytes{server=~\"$server\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{server}} - {{http_listener}}{{https_listener}}"
+ }
+ ],
+ "title": "Network received throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Throughput rate of data sent over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "binBps"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "rate(wildfly_undertow_bytes_sent_total_bytes{server=~\"$server\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{server}} - {{http_listener}}{{https_listener}}"
+ }
+ ],
+ "title": "Network sent throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "description": "Recent logs from server log file",
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "id": 6,
+ "options": {
+ "dedupStrategy": "none",
+ "enableLogDetails": true,
+ "prettifyLogMessage": false,
+ "showCommonLabels": false,
+ "showLabels": false,
+ "showTime": false,
+ "sortOrder": "Descending",
+ "wrapLogMessage": false
+ },
+ "pluginVersion": "9.1.7",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${loki_datasource}"
+ },
+ "editorMode": "code",
+ "expr": "{filename=\"/opt/wildfly/standalone/log/server.log\", job=~\"$job\",instance=~\"$instance\"}",
+ "queryType": "range",
+ "refId": "A"
+ }
+ ],
+ "title": "Server logs",
+ "type": "logs"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 25
+ },
+ "id": 7,
+ "targets": [ ],
+ "title": "Sessions",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of active sessions to deployment over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 26
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "wildfly_undertow_active_sessions{deployment=~\"$deployment\", job=~\"$job\", instance=~\"$instance\"}",
+ "format": "time_series",
+ "intervalFactor": 2,
+ "legendFormat": "{{deployment}}"
+ }
+ ],
+ "title": "Active sessions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of sessions that have expired for a deployment over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 34
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(wildfly_undertow_expired_sessions_total{deployment=~\"$deployment\", job=~\"$job\", instance=~\"$instance\"}[$__interval])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{deployment}}"
+ }
+ ],
+ "title": "Expired sessions",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "description": "Number of sessions that have been rejected from a deployment over time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 34
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "expr": "increase(wildfly_undertow_rejected_sessions_total{deployment=~\"$deployment\", job=~\"$job\", instance=~\"$instance\"}[$__interval])",
+ "format": "time_series",
+ "interval": "1m",
+ "intervalFactor": 2,
+ "legendFormat": "{{deployment}}"
+ }
+ ],
+ "title": "Rejected sessions",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "rows": [ ],
+ "schemaVersion": 14,
+ "style": "dark",
+ "tags": [
+ "wildfly-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "prometheus_datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "current": { },
+ "hide": 0,
+ "label": "Loki Datasource",
+ "name": "loki_datasource",
+ "options": [ ],
+ "query": "loki",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": "label_values(wildfly_batch_jberet_active_count{}, job)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Instance",
+ "multi": false,
+ "name": "instance",
+ "options": [ ],
+ "query": "label_values(wildfly_batch_jberet_active_count{job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Server",
+ "multi": false,
+ "name": "server",
+ "options": [ ],
+ "query": "label_values(wildfly_undertow_request_count_total{}, server)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": { },
+ "datasource": {
+ "uid": "${prometheus_datasource}"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Deployment",
+ "multi": false,
+ "name": "deployment",
+ "options": [ ],
+ "query": "label_values(wildfly_undertow_active_sessions{}, deployment)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "default",
+ "title": "Wildfly overview",
+ "uid": "wildfly-overview",
+ "version": 0
+}
diff --git a/assets/wildfly/rules.yaml b/assets/wildfly/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/wildfly/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/windows-active-directory/alerts.yaml b/assets/windows-active-directory/alerts.yaml
new file mode 100644
index 0000000..e5b49f5
--- /dev/null
+++ b/assets/windows-active-directory/alerts.yaml
@@ -0,0 +1,120 @@
+groups:
+- name: windows-alerts-active-directory
+ rules:
+ - alert: WindowsCPUHighUsage
+ annotations:
+ description: |
+ CPU usage on host {{ $labels.instance }} is above 90%. The current value is {{ $value | printf "%.2f" }}%.
+ summary: High CPU usage on Windows host.
+ expr: |
+ 100 - (avg without (mode, core) (rate(windows_cpu_time_total{job=~"integrations/windows_exporter", mode="idle"}[2m])) * 100) > 90
+ for: 15m
+ labels:
+ severity: warning
+ - alert: WindowsMemoryHighUtilization
+ annotations:
+ description: |
+ Memory usage on host {{ $labels.instance }} is above 90%. The current value is {{ $value | printf "%.2f" }}%.
+ summary: High memory usage on Windows host.
+ expr: |
+ 100 - ((windows_os_physical_memory_free_bytes{job=~"integrations/windows_exporter"}
+ /
+ windows_cs_physical_memory_bytes{job=~"integrations/windows_exporter"}) * 100) > 90
+ for: 15m
+ labels:
+ severity: critical
+ - alert: WindowsDiskAlmostOutOfSpace
+ annotations:
+ description: |
+ Volume {{ $labels.volume }} is almost full on host {{ $labels.instance }}, more than 90% of space is used. The current volume utilization is {{ $value | printf "%.2f" }}%.
+ summary: Disk is almost full on Windows host.
+ expr: |
+ 100 - ((windows_logical_disk_free_bytes{job=~"integrations/windows_exporter"} ) / (windows_logical_disk_size_bytes{job=~"integrations/windows_exporter"})) * 100 > 90
+ for: 15m
+ labels:
+ severity: critical
+ - alert: WindowsServiceNotHealthy
+ annotations:
+ description: |
+ Windows service {{ $labels.name }} is not in healthy state, currently in '{{ $labels.status }}'.
+ summary: Windows service is not healthy.
+ expr: |
+ windows_service_status{job=~"integrations/windows_exporter", status!~"starting|stopping|ok"} > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: WindowsDiskDriveNotHealthy
+ annotations:
+ description: |
+ Windows disk {{ $labels.name }} is not in healthy state, currently in '{{ $labels.status }}' status.
+ summary: Windows physical disk is not healthy.
+ expr: |
+ windows_disk_drive_status{job=~"integrations/windows_exporter", status="OK"} != 1
+ for: 5m
+ labels:
+ severity: critical
+ - alert: WindowsNTPClientDelay
+ annotations:
+ description: |
+ 'Round-trip time of NTP client on instance {{ $labels.instance }} is greater than 1 second. Delay is {{ $value }} sec.'
+ summary: NTP client delay.
+ expr: |
+ windows_time_ntp_round_trip_delay_seconds{job=~"integrations/windows_exporter"} > 1
+ for: 5m
+ labels:
+ severity: warning
+ - alert: WindowsNTPTimeOffset
+ annotations:
+ description: |
+ 'NTP time offset for instance {{ $labels.instance }} is greater than 1 second. Offset is {{ $value }} sec.'
+ summary: NTP time offset is too large.
+ expr: |
+ windows_time_computed_time_offset_seconds{job=~"integrations/windows_exporter"} > 1
+ for: 5m
+ labels:
+ severity: warning
+ - alert: WindowsActiveDirectoryHighPendingReplicationOperations
+ annotations:
+ description: The number of pending replication operations on {{$labels.instance}}
+ is {{ printf "%.0f" $value }} which is above the threshold of 50.
+ summary: There is a high number of pending replication operations in Active
+ Directory. A high number of pending operations sustained over a period of
+ time can indicate a problem with replication.
+ expr: "windows_ad_replication_pending_operations{job=~\"integrations/windows_exporter\"}
+ >= 50 \n"
+ for: 10m
+ labels:
+ severity: warning
+ - alert: WindowsActiveDirectoryHighReplicationSyncRequestFailures
+ annotations:
+ description: The number of replication sync request failures on {{$labels.instance}}
+ is {{ printf "%.0f" $value }} which is above the threshold of 0.
+ summary: There are a number of replication synchronization request failures.
+ These can cause authentication failures, outdated information being propagated
+ across domain controllers, and potentially data loss or inconsistencies.
+ expr: "increase(windows_ad_replication_sync_requests_schema_mismatch_failure_total{job=~\"integrations/windows_exporter\"}[5m])
+ > 0 \n"
+ for: 5m
+ labels:
+ severity: critical
+ - alert: WindowsActiveDirectoryHighPasswordChanges
+ annotations:
+ description: The number of password changes on {{$labels.instance}} is {{ printf
+ "%.0f" $value }} which is greater than the threshold of 25
+ summary: There is a high number of password changes. This may indicate unauthorized
+ changes or attacks.
+ expr: |
+ increase(windows_ad_sam_password_changes_total{job=~"integrations/windows_exporter"}[5m]) > 25
+ for: 5m
+ labels:
+ severity: warning
+ - alert: WindowsActiveDirectoryMetricsDown
+ annotations:
+ description: There are no available metrics for Windows Active Directory integration
+ from instance {{$labels.instance}}.
+ summary: Windows Active Directory metrics are down.
+ expr: |
+ up{job="integrations/windows_exporter"} == 0
+ for: 5m
+ labels:
+ severity: critical
diff --git a/assets/windows-active-directory/dashboards/activedirectory b/assets/windows-active-directory/dashboards/activedirectory
new file mode 100644
index 0000000..c40dd7b
--- /dev/null
+++ b/assets/windows-active-directory/dashboards/activedirectory
@@ -0,0 +1,1155 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "enable": true,
+ "expr": "{job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\", channel=\"System\", level=\"Critical\"} | json",
+ "hide": true,
+ "iconColor": "light-purple",
+ "name": "Critical system event",
+ "tagKeys": "job,instance,level",
+ "textFormat": "{{message}}",
+ "titleFormat": "Critical system event"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "enable": true,
+ "expr": "windows_system_system_up_time{job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\"}*1000 > $__from < $__to",
+ "hide": true,
+ "iconColor": "light-yellow",
+ "name": "Reboot",
+ "tagKeys": "job,instance",
+ "titleFormat": "Reboot",
+ "useValueForTime": "on"
+ },
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "enable": true,
+ "expr": "{job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\", source=\"Service Control Manager\", level=\"Error\"} |= \"terminated\" | json",
+ "hide": true,
+ "iconColor": "light-orange",
+ "name": "Service failed",
+ "tagKeys": "job,instance,level",
+ "textFormat": "{{message}}",
+ "titleFormat": "Service failed"
+ }
+ ]
+ },
+ "links": [
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "active-directory"
+ ],
+ "title": "All Windows Active Directory dashboards",
+ "type": "dashboards"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The number of replication operations that are pending in Active Directory.\nThese operations could include a variety of tasks, such as updating directory objects, processing changes made on other domain controllers, or applying new schema updates.\n",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(windows_ad_replication_pending_operations{job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\"})",
+ "legendFormat": "Operations"
+ }
+ ],
+ "title": "Replication pending operations",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The current number of active threads in the directory service.\n",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 6,
+ "y": 0
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(windows_ad_directory_service_threads{job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\"})",
+ "legendFormat": "Directory service threads"
+ }
+ ],
+ "title": "Directory service threads",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 0
+ },
+ "id": 3,
+ "options": {
+ "alertInstanceLabelFilter": "job=~\"${job:regex}\",instance=~\"${instance:regex}\""
+ },
+ "pluginVersion": "v10.0.0",
+ "title": "Windows Active Directory alerts",
+ "type": "alertlist"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The number of synchronization requests that are pending in Active Directory. Synchronization in AD refers to the process of ensuring that changes (like updates to user accounts, group policies, etc.) are consistently applied across all domain controllers.\n",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 12,
+ "x": 0,
+ "y": 3
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum(windows_ad_replication_pending_synchronizations{job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\"})",
+ "legendFormat": "Operations"
+ }
+ ],
+ "title": "Replication pending synchronizations",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The rate at which LDAP bind requests are being made.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "ops"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 3
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "rate(windows_ad_binds_total{bind_method=~\"ldap\", job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{instance}}"
+ }
+ ],
+ "title": "LDAP bind requests",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The rate of LDAP read, search, and write operations.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "ops"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 9
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "rate(windows_ad_directory_operations_total{origin=~\"ldap\", job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{instance}} - {{ operation }}"
+ }
+ ],
+ "title": "LDAP operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Distribution of different types of operations performed on the Active Directory database.\n",
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Digest"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "gradient-gauge"
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlPu"
+ }
+ },
+ {
+ "id": "unit",
+ "value": "ops"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "DS_client"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "gradient-gauge"
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlPu"
+ }
+ },
+ {
+ "id": "unit",
+ "value": "ops"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "DS_server"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "gradient-gauge"
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlPu"
+ }
+ },
+ {
+ "id": "unit",
+ "value": "ops"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "External"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "gradient-gauge"
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlPu"
+ }
+ },
+ {
+ "id": "unit",
+ "value": "ops"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Fast"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "gradient-gauge"
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlPu"
+ }
+ },
+ {
+ "id": "unit",
+ "value": "ops"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "LDAP"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "gradient-gauge"
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlPu"
+ }
+ },
+ {
+ "id": "unit",
+ "value": "ops"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Negotiate"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "gradient-gauge"
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlPu"
+ }
+ },
+ {
+ "id": "unit",
+ "value": "ops"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "NTLM"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "gradient-gauge"
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlPu"
+ }
+ },
+ {
+ "id": "unit",
+ "value": "ops"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Simple"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "gradient-gauge"
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlPu"
+ }
+ },
+ {
+ "id": "unit",
+ "value": "ops"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 15
+ },
+ "id": 7,
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "rate(windows_ad_binds_total{job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{instance}} - {{ operation }}"
+ }
+ ],
+ "title": "Bind operations overview",
+ "transformations": [
+ {
+ "id": "joinByLabels",
+ "options": {
+ "join": [
+ "instance"
+ ],
+ "value": "bind_method"
+ }
+ },
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "digest": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "ds_client": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "ds_server": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "external": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "fast": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "instance": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "ldap": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "negotiate": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "ntlm": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "simple": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ }
+ }
+ }
+ },
+ {
+ "id": "filterFieldsByName",
+ "options": {
+ "include": {
+ "pattern": "instance|digest|ds_client|ds_server|external|fast|ldap|negotiate|ntlm|simple"
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "renameByName": {
+ "digest (lastNotNull)": "Digest",
+ "ds_client (lastNotNull)": "DS_client",
+ "ds_server (lastNotNull)": "DS_server",
+ "external (lastNotNull)": "External",
+ "fast (lastNotNull)": "Fast",
+ "instance (lastNotNull)": "Instance",
+ "ldap (lastNotNull)": "LDAP",
+ "negotiate (lastNotNull)": "Negotiate",
+ "ntlm (lastNotNull)": "NTLM",
+ "simple (lastNotNull)": "Simple"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of replication traffic between servers within the same site.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "unit": "bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 21
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "rate(windows_ad_replication_data_intrasite_bytes_total{job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]) * 8",
+ "legendFormat": "{{instance}} - {{ direction }}"
+ }
+ ],
+ "title": "Intrasite replication traffic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Rate of replication traffic between servers across different sites.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "unit": "bps"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 21
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "rate(windows_ad_replication_data_intersite_bytes_total{job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]) * 8",
+ "legendFormat": "{{instance}} - {{ direction }}"
+ }
+ ],
+ "title": "Intersite replication traffic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The rate of traffic received from other replication partners.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "rate(windows_ad_replication_inbound_objects_updated_total{job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{instance}} objects"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "rate(windows_ad_replication_inbound_properties_updated_total{job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{instance}} properties"
+ }
+ ],
+ "title": "Inbound replication updates",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Distribution of different types of operations performed on the Active Directory database.\n",
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Add"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "gradient-gauge"
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlPu"
+ }
+ },
+ {
+ "id": "unit",
+ "value": "ops"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Delete"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "gradient-gauge"
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlPu"
+ }
+ },
+ {
+ "id": "unit",
+ "value": "ops"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Modify"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "gradient-gauge"
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlPu"
+ }
+ },
+ {
+ "id": "unit",
+ "value": "ops"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Recycle"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "gradient-gauge"
+ },
+ {
+ "id": "custom.align",
+ "value": "left"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlPu"
+ }
+ },
+ {
+ "id": "unit",
+ "value": "ops"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 33
+ },
+ "id": 11,
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "rate(windows_ad_database_operations_total{job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{instance}} - {{ operation }}"
+ }
+ ],
+ "title": "Database operations overview",
+ "transformations": [
+ {
+ "id": "joinByLabels",
+ "options": {
+ "join": [
+ "instance"
+ ],
+ "value": "operation"
+ }
+ },
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "add": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "delete": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "instance": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "modify": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "recycle": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ }
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "renameByName": {
+ "add (lastNotNull)": "Add",
+ "delete (lastNotNull)": "Delete",
+ "modify (lastNotNull)": "Modify",
+ "recycle (lastNotNull)": "Recycle"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The rate of database operations.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "ops"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 33
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [
+ "min",
+ "max",
+ "mean"
+ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "rate(windows_ad_database_operations_total{job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{instance}} - {{ operation }}"
+ }
+ ],
+ "title": "Database operations",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "active-directory"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Data source",
+ "name": "datasource",
+ "query": "prometheus",
+ "regex": "Prometheus|Cortex|Mimir|grafanacloud-.+-prom",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(windows_os_info{job=~\"integrations/windows_exporter\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values(windows_os_info{job=~\"integrations/windows_exporter\",job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "hide": 2,
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "Loki|.+logs",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "Windows Active Directory overview",
+ "uid": "activedirectory"
+}
diff --git a/assets/windows-active-directory/dashboards/logs b/assets/windows-active-directory/dashboards/logs
new file mode 100644
index 0000000..db838bc
--- /dev/null
+++ b/assets/windows-active-directory/dashboards/logs
@@ -0,0 +1,391 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "enable": true,
+ "expr": "{job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\", channel=\"System\", level=\"Critical\"} | json",
+ "hide": true,
+ "iconColor": "light-purple",
+ "name": "Critical system event",
+ "tagKeys": "job,instance,level",
+ "textFormat": "{{message}}",
+ "titleFormat": "Critical system event"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "enable": true,
+ "expr": "windows_system_system_up_time{job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\"}*1000 > $__from < $__to",
+ "hide": true,
+ "iconColor": "light-yellow",
+ "name": "Reboot",
+ "tagKeys": "job,instance",
+ "titleFormat": "Reboot",
+ "useValueForTime": "on"
+ },
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "enable": true,
+ "expr": "{job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\", source=\"Service Control Manager\", level=\"Error\"} |= \"terminated\" | json",
+ "hide": true,
+ "iconColor": "light-orange",
+ "name": "Service failed",
+ "tagKeys": "job,instance,level",
+ "textFormat": "{{message}}",
+ "titleFormat": "Service failed"
+ }
+ ]
+ },
+ "links": [
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "active-directory"
+ ],
+ "title": "All Windows Active Directory dashboards",
+ "type": "dashboards"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Logs volume grouped by \"level\" label.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "drawStyle": "bars",
+ "fillOpacity": 50,
+ "stacking": {
+ "mode": "normal"
+ }
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)merg|(F|f)atal|(A|a)lert|(C|c)rit.*"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)(rr.*|RR.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(W|w)(arn.*|ARN.*|rn|RN)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(N|n)(otice|ote)|(I|i)(nf.*|NF.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "dbg.*|DBG.*|(D|d)(EBUG|ebug)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(T|t)(race|RACE)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "logs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24
+ },
+ "id": 1,
+ "interval": "30s",
+ "options": {
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "sum by (level) (count_over_time({job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\",channel=~\"$channel\",source=~\"$source\",keywords=~\"$keywords\",level=~\"$level\"}\n|~ \"$regex_search\"\n| json | __error__=``\n[$__interval]))\n",
+ "legendFormat": "{{ level }}"
+ }
+ ],
+ "title": "Logs volume",
+ "transformations": [
+ {
+ "id": "renameByRegex",
+ "options": {
+ "regex": "Value",
+ "renamePattern": "logs"
+ }
+ }
+ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "gridPos": {
+ "h": 18,
+ "w": 24
+ },
+ "id": 2,
+ "options": {
+ "dedupStrategy": "exact",
+ "enableLogDetails": true,
+ "prettifyLogMessage": true,
+ "showTime": false,
+ "wrapLogMessage": false
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "{job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\",channel=~\"$channel\",source=~\"$source\",keywords=~\"$keywords\",level=~\"$level\"} \n|~ \"$regex_search\"\n| json | __error__=``\n| label_format timestamp=\"{{__timestamp__}}\"\n| drop channel_extracted,source_extracted,computer_extracted,level_extracted,keywords_extracted\n| line_format `{{ if eq \"[[instance]]\" \".*\" }}{{ alignLeft 25 .instance}}|{{end}}{{alignLeft 12 .channel }}| {{ alignLeft 25 .source}}| {{ .message }}`\n\n"
+ }
+ ],
+ "title": "Logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "active-directory"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "Loki|.+logs",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values({job=~\"integrations/windows_exporter\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values({job=~\"integrations/windows_exporter\",job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Channel",
+ "multi": true,
+ "name": "channel",
+ "query": "label_values({job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\"}, channel)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Source",
+ "multi": true,
+ "name": "source",
+ "query": "label_values({job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\",channel=~\"$channel\"}, source)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Keywords",
+ "multi": true,
+ "name": "keywords",
+ "query": "label_values({job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\",channel=~\"$channel\",source=~\"$source\"}, keywords)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Level",
+ "multi": true,
+ "name": "level",
+ "query": "label_values({job=~\"integrations/windows_exporter\",job=~\"$job\",instance=~\"$instance\",channel=~\"$channel\",source=~\"$source\",keywords=~\"$keywords\"}, level)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "",
+ "value": ""
+ },
+ "label": "Regex search",
+ "name": "regex_search",
+ "options": [
+ {
+ "selected": true,
+ "text": "",
+ "value": ""
+ }
+ ],
+ "query": "",
+ "type": "textbox"
+ },
+ {
+ "hide": 2,
+ "label": "Data source",
+ "name": "datasource",
+ "query": "prometheus",
+ "regex": "Prometheus|Cortex|Mimir|grafanacloud-.+-prom",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "Windows logs",
+ "uid": "activedirectory-logs"
+}
diff --git a/assets/windows-active-directory/rules.yaml b/assets/windows-active-directory/rules.yaml
new file mode 100644
index 0000000..0967ef4
--- /dev/null
+++ b/assets/windows-active-directory/rules.yaml
@@ -0,0 +1 @@
+{}
diff --git a/assets/windows/alerts.yaml b/assets/windows/alerts.yaml
new file mode 100644
index 0000000..b9b5ff8
--- /dev/null
+++ b/assets/windows/alerts.yaml
@@ -0,0 +1,75 @@
+groups:
+- name: windows-alerts-windows
+ rules:
+ - alert: WindowsCPUHighUsage
+ annotations:
+ description: |
+ CPU usage on host {{ $labels.instance }} is above 90%. The current value is {{ $value | printf "%.2f" }}%.
+ summary: High CPU usage on Windows host.
+ expr: |
+ 100 - (avg without (mode, core) (rate(windows_cpu_time_total{job=~".*windows.*", mode="idle"}[2m])) * 100) > 90
+ for: 15m
+ labels:
+ severity: warning
+ - alert: WindowsMemoryHighUtilization
+ annotations:
+ description: |
+ Memory usage on host {{ $labels.instance }} is above 90%. The current value is {{ $value | printf "%.2f" }}%.
+ summary: High memory usage on Windows host.
+ expr: |
+ 100 - ((windows_os_physical_memory_free_bytes{job=~".*windows.*"}
+ /
+ windows_cs_physical_memory_bytes{job=~".*windows.*"}) * 100) > 90
+ for: 15m
+ labels:
+ severity: critical
+ - alert: WindowsDiskAlmostOutOfSpace
+ annotations:
+ description: |
+ Volume {{ $labels.volume }} is almost full on host {{ $labels.instance }}, more than 90% of space is used. The current volume utilization is {{ $value | printf "%.2f" }}%.
+ summary: Disk is almost full on Windows host.
+ expr: |
+ 100 - ((windows_logical_disk_free_bytes{job=~".*windows.*"} ) / (windows_logical_disk_size_bytes{job=~".*windows.*"})) * 100 > 90
+ for: 15m
+ labels:
+ severity: critical
+ - alert: WindowsServiceNotHealthy
+ annotations:
+ description: |
+ Windows service {{ $labels.name }} is not in healthy state, currently in '{{ $labels.status }}'.
+ summary: Windows service is not healthy.
+ expr: |
+ windows_service_status{job=~".*windows.*", status!~"starting|stopping|ok"} > 0
+ for: 5m
+ labels:
+ severity: critical
+ - alert: WindowsDiskDriveNotHealthy
+ annotations:
+ description: |
+ Windows disk {{ $labels.name }} is not in healthy state, currently in '{{ $labels.status }}' status.
+ summary: Windows physical disk is not healthy.
+ expr: |
+ windows_disk_drive_status{job=~".*windows.*", status="OK"} != 1
+ for: 5m
+ labels:
+ severity: critical
+ - alert: WindowsNTPClientDelay
+ annotations:
+ description: |
+ 'Round-trip time of NTP client on instance {{ $labels.instance }} is greater than 1 second. Delay is {{ $value }} sec.'
+ summary: NTP client delay.
+ expr: |
+ windows_time_ntp_round_trip_delay_seconds{job=~".*windows.*"} > 1
+ for: 5m
+ labels:
+ severity: warning
+ - alert: WindowsNTPTimeOffset
+ annotations:
+ description: |
+ 'NTP time offset for instance {{ $labels.instance }} is greater than 1 second. Offset is {{ $value }} sec.'
+ summary: NTP time offset is too large.
+ expr: |
+ windows_time_computed_time_offset_seconds{job=~".*windows.*"} > 1
+ for: 5m
+ labels:
+ severity: warning
diff --git a/assets/windows/dashboards/disks b/assets/windows/dashboards/disks
new file mode 100644
index 0000000..fd3a743
--- /dev/null
+++ b/assets/windows/dashboards/disks
@@ -0,0 +1,728 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "enable": true,
+ "expr": "{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\", channel=\"System\", level=\"Critical\"} | json",
+ "hide": true,
+ "iconColor": "light-purple",
+ "name": "Critical system event",
+ "tagKeys": "job,instance,level",
+ "textFormat": "{{message}}",
+ "titleFormat": "Critical system event"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "enable": true,
+ "expr": "windows_system_system_up_time{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}*1000 > $__from < $__to",
+ "hide": true,
+ "iconColor": "light-yellow",
+ "name": "Reboot",
+ "tagKeys": "job,instance",
+ "titleFormat": "Reboot",
+ "useValueForTime": "on"
+ },
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "enable": true,
+ "expr": "{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\", source=\"Service Control Manager\", level=\"Error\"} |= \"terminated\" | json",
+ "hide": true,
+ "iconColor": "light-orange",
+ "name": "Service failed",
+ "tagKeys": "job,instance,level",
+ "textFormat": "{{message}}",
+ "titleFormat": "Service failed"
+ }
+ ]
+ },
+ "links": [
+ {
+ "keepTime": true,
+ "title": "Back to Windows fleet",
+ "type": "link",
+ "url": "/d/windows-fleet"
+ },
+ {
+ "keepTime": true,
+ "title": "Back to Windows overview",
+ "type": "link",
+ "url": "/d/windows-overview"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "windows"
+ ],
+ "title": "All Windows dashboards",
+ "type": "dashboards"
+ }
+ ],
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "title": "Disk",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Filesystem space utilisation in bytes.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 1,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "min": 0,
+ "unit": "bytes"
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 1
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_logical_disk_free_bytes{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "legendFormat": "{{ volume }} available"
+ }
+ ],
+ "title": "Filesystem space availabe",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "This table provides information about total disk space, used space, available space, and usage percentages for each mounted file system on the system.\n",
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "steps": [
+ {
+ "color": "light-blue",
+ "value": null
+ },
+ {
+ "color": "light-yellow",
+ "value": 0.80000000000000004
+ },
+ {
+ "color": "light-red",
+ "value": 0.90000000000000002
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mounted on"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": "260"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Size"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": "80"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Used"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": "80"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Available"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": "80"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Used, %"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "basic"
+ },
+ {
+ "id": "max",
+ "value": 1
+ },
+ {
+ "id": "min",
+ "value": 0
+ },
+ {
+ "id": "unit",
+ "value": "percentunit"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 1
+ },
+ "id": 3,
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_logical_disk_size_bytes{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "refId": "TOTAL"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_logical_disk_free_bytes{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "legendFormat": "{{ volume }} available",
+ "refId": "FREE"
+ }
+ ],
+ "title": "Disk space usage",
+ "transformations": [
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "Value #FREE": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "Value #TOTAL": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "volume": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ }
+ }
+ }
+ },
+ {
+ "id": "merge",
+ "options": { }
+ },
+ {
+ "id": "calculateField",
+ "options": {
+ "alias": "Used",
+ "binary": {
+ "left": "Value #TOTAL (lastNotNull)",
+ "operator": "-",
+ "reducer": "sum",
+ "right": "Value #FREE (lastNotNull)"
+ },
+ "mode": "binary",
+ "reduce": {
+ "reducer": "sum"
+ }
+ }
+ },
+ {
+ "id": "calculateField",
+ "options": {
+ "alias": "Used, %",
+ "binary": {
+ "left": "Used",
+ "operator": "/",
+ "reducer": "sum",
+ "right": "Value #TOTAL (lastNotNull)"
+ },
+ "mode": "binary",
+ "reduce": {
+ "reducer": "sum"
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": { },
+ "indexByName": {
+ "Used": 3,
+ "Used, %": 4,
+ "Value #FREE (lastNotNull)": 2,
+ "Value #TOTAL (lastNotNull)": 1,
+ "volume": 0
+ },
+ "renameByName": {
+ "Value #FREE (lastNotNull)": "Available",
+ "Value #TOTAL (lastNotNull)": "Size",
+ "volume": "Mounted on"
+ }
+ }
+ },
+ {
+ "id": "sortBy",
+ "options": {
+ "fields": { },
+ "sort": [
+ {
+ "desc": false,
+ "field": "Mounted on"
+ }
+ ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Disk read/writes in bytes per second.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 1,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "Bps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/time|used|busy|util/"
+ },
+ "properties": [
+ {
+ "id": "custom.axisSoftMax",
+ "value": 100
+ },
+ {
+ "id": "custom.drawStyle",
+ "value": "points"
+ },
+ {
+ "id": "unit",
+ "value": "percent"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 9
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(windows_logical_disk_read_bytes_total{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ volume }} read"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(windows_logical_disk_write_bytes_total{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ volume }} written"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(1-clamp_max(irate(windows_logical_disk_idle_seconds_total{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]),1)) * 100",
+ "legendFormat": "{{ volume }} io util"
+ }
+ ],
+ "title": "Disk reads/writes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The number of I/O requests per second for the device/volume.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "axisCenteredZero": true,
+ "axisLabel": "write(-) | read(+)",
+ "fillOpacity": 1,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "iops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/write|written/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 9
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(windows_logical_disk_reads_total{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])\n",
+ "legendFormat": "{{ volume }} reads"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(windows_logical_disk_writes_total{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])\n",
+ "legendFormat": "{{ volume }} writes"
+ }
+ ],
+ "title": "Disk I/O",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The average time for requests issued to the device to be served.\nThis includes the time spent by the requests in queue and the time spent servicing them.'\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "axisCenteredZero": true,
+ "axisLabel": "write(-) | read(+)",
+ "fillOpacity": 1,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/write|written/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 17
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(windows_logical_disk_read_seconds_total{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])\n/\nirate(windows_logical_disk_reads_total{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])\n",
+ "legendFormat": "{{ volume }} avg read time"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(windows_logical_disk_write_seconds_total{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])\n/\nirate(windows_logical_disk_writes_total{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])\n",
+ "legendFormat": "{{ volume }} avg write time"
+ }
+ ],
+ "title": "Disk average wait time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Disk average IO queue.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "axisCenteredZero": true,
+ "axisLabel": "write(-) | read(+)",
+ "fillOpacity": 1,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/write|written/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 17
+ },
+ "id": 7,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(windows_logical_disk_avg_read_requests_queued{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ volume }} read queue"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(windows_logical_disk_avg_write_requests_queued{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ volume }} write queue"
+ }
+ ],
+ "title": "Disk average queue",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "windows"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Data source",
+ "name": "datasource",
+ "query": "prometheus",
+ "regex": "Prometheus|Cortex|Mimir|grafanacloud-.+-prom",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(windows_os_info{job=~\".*windows.*\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": false,
+ "label": "Instance",
+ "multi": false,
+ "name": "instance",
+ "query": "label_values(windows_os_info{job=~\".*windows.*\",job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "hide": 2,
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "Loki|.+logs",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "Windows disks and filesystems",
+ "uid": "windows-disks"
+}
diff --git a/assets/windows/dashboards/fleet b/assets/windows/dashboards/fleet
new file mode 100644
index 0000000..72fa52e
--- /dev/null
+++ b/assets/windows/dashboards/fleet
@@ -0,0 +1,1128 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "enable": true,
+ "expr": "{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\", channel=\"System\", level=\"Critical\"} | json",
+ "hide": true,
+ "iconColor": "light-purple",
+ "name": "Critical system event",
+ "tagKeys": "job,instance,level",
+ "textFormat": "{{message}}",
+ "titleFormat": "Critical system event"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "enable": true,
+ "expr": "windows_system_system_up_time{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}*1000 > $__from < $__to",
+ "hide": true,
+ "iconColor": "light-yellow",
+ "name": "Reboot",
+ "tagKeys": "job,instance",
+ "titleFormat": "Reboot",
+ "useValueForTime": "on"
+ },
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "enable": true,
+ "expr": "{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\", source=\"Service Control Manager\", level=\"Error\"} |= \"terminated\" | json",
+ "hide": true,
+ "iconColor": "light-orange",
+ "name": "Service failed",
+ "tagKeys": "job,instance,level",
+ "textFormat": "{{message}}",
+ "titleFormat": "Service failed"
+ }
+ ]
+ },
+ "links": [
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "windows"
+ ],
+ "title": "All Windows dashboards",
+ "type": "dashboards"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "All Windows instances' perfomance at a glance.",
+ "fieldConfig": {
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Uptime"
+ },
+ "properties": [
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "thresholds"
+ }
+ },
+ {
+ "id": "decimals",
+ "value": 1
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "orange",
+ "value": null
+ },
+ {
+ "color": "text",
+ "value": 600
+ }
+ ]
+ }
+ },
+ {
+ "id": "unit",
+ "value": "dtdurations"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "Product|^Hostname$"
+ },
+ "properties": [
+ {
+ "id": "custom.filterable",
+ "value": true
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Instance"
+ },
+ "properties": [
+ {
+ "id": "custom.filterable",
+ "value": true
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": false,
+ "title": "Drill down to ${__field.name} ${__value.text}",
+ "url": "d/windows-overview?var-instance=${__data.fields.instance}&${__url_time_range}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "Job"
+ },
+ "properties": [
+ {
+ "id": "custom.filterable",
+ "value": true
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": false,
+ "title": "Filter by ${__field.name}",
+ "url": "d/windows-fleet?var-${__field.name}=${__value.text}&${__url_time_range}"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cores"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": "120"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "CPU usage"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": "120"
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "basic"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlYlRd"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 30
+ },
+ {
+ "id": "custom.gradientMode",
+ "value": "scheme"
+ },
+ {
+ "id": "custom.lineInterpolation",
+ "value": "smooth"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 2
+ },
+ {
+ "id": "custom.showPoints",
+ "value": "never"
+ },
+ {
+ "id": "decimals",
+ "value": 1
+ },
+ {
+ "id": "max",
+ "value": 100
+ },
+ {
+ "id": "min",
+ "value": 0
+ },
+ {
+ "id": "unit",
+ "value": "percent"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Memory total"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": "120"
+ },
+ {
+ "id": "unit",
+ "value": "bytes"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Memory usage"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": "120"
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "basic"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlYlRd"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 30
+ },
+ {
+ "id": "custom.gradientMode",
+ "value": "scheme"
+ },
+ {
+ "id": "custom.lineInterpolation",
+ "value": "smooth"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 2
+ },
+ {
+ "id": "custom.showPoints",
+ "value": "never"
+ },
+ {
+ "id": "decimals",
+ "value": 1
+ },
+ {
+ "id": "max",
+ "value": 100
+ },
+ {
+ "id": "min",
+ "value": 0
+ },
+ {
+ "id": "unit",
+ "value": "percent"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Disk C: total"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": "120"
+ },
+ {
+ "id": "unit",
+ "value": "bytes"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Disk C: used"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": "120"
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "basic"
+ },
+ {
+ "id": "unit",
+ "value": "percent"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "continuous-BlYlRd"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 30
+ },
+ {
+ "id": "custom.gradientMode",
+ "value": "scheme"
+ },
+ {
+ "id": "custom.lineInterpolation",
+ "value": "smooth"
+ },
+ {
+ "id": "custom.lineWidth",
+ "value": 2
+ },
+ {
+ "id": "custom.showPoints",
+ "value": "never"
+ },
+ {
+ "id": "decimals",
+ "value": 1
+ },
+ {
+ "id": "max",
+ "value": 100
+ },
+ {
+ "id": "min",
+ "value": 0
+ },
+ {
+ "id": "unit",
+ "value": "percent"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 16,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "options": {
+ "footer": {
+ "fields": [
+ "Value #Cores",
+ "Value #Load 1",
+ "Value #Memory total",
+ "Value #Disk C: total"
+ ],
+ "reducer": [
+ "sum"
+ ],
+ "show": true
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_os_info{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "refId": "OS Info"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "time() - windows_system_system_up_time{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "refId": "Uptime"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_cs_logical_processors{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "refId": "Cores"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "100 - (avg without (mode,core) (rate(windows_cpu_time_total{mode=\"idle\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])*100))",
+ "format": "table",
+ "instant": true,
+ "legendFormat": "CPU usage",
+ "refId": "CPU usage"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_cs_physical_memory_bytes{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "legendFormat": "Memory total",
+ "refId": "Memory total"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "100 - windows_os_physical_memory_free_bytes{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"} / windows_cs_physical_memory_bytes{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"} * 100",
+ "format": "table",
+ "instant": true,
+ "refId": "Memory usage"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_logical_disk_size_bytes{volume=\"C:\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "refId": "Disk C: total"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "100 - windows_logical_disk_free_bytes{volume=\"C:\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}/windows_logical_disk_size_bytes{volume=\"C:\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}*100",
+ "format": "table",
+ "instant": true,
+ "refId": "Disk C: used"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "count by (instance) (max_over_time(ALERTS{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\", alertstate=\"firing\", severity=\"critical\"}[1m])) * group by (instance) (windows_os_info{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"})",
+ "format": "table",
+ "instant": true,
+ "refId": "CRITICAL"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "count by (instance) (max_over_time(ALERTS{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\", alertstate=\"firing\", severity=\"warning\"}[1m])) * group by (instance) (windows_os_info{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"})",
+ "format": "table",
+ "instant": true,
+ "refId": "WARNING"
+ }
+ ],
+ "title": "Fleet overview",
+ "transformations": [
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "instance",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "filterFieldsByName",
+ "options": {
+ "include": {
+ "pattern": "job 1|instance|product|^hostname$|Value.+"
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Value #OS Info": true
+ },
+ "indexByName": { },
+ "renameByName": {
+ "hostname": "Hostname",
+ "instance": "Instance",
+ "job 1": "Job",
+ "product": "Product"
+ }
+ }
+ },
+ {
+ "id": "renameByRegex",
+ "options": {
+ "regex": "Value #(.*)",
+ "renamePattern": "$1"
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Top 25",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "fillOpacity": 1,
+ "gradientMode": "scheme",
+ "lineInterpolation": "smooth",
+ "lineWidth": 1,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "links": [
+ {
+ "title": "Drill down to this instance",
+ "url": "d/windows-overview?var-instance=${__field.labels.instance}&${__url_time_range}"
+ }
+ ],
+ "max": 100,
+ "min": 0,
+ "unit": "percent"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mean"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-purple",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ },
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "dash": [
+ 10,
+ 10
+ ],
+ "fill": "dash"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 2,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max",
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "topk(25,100 - (avg without (mode,core) (rate(windows_cpu_time_total{mode=\"idle\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])*100)))",
+ "legendFormat": "{{instance}}"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "avg(100 - (avg without (mode,core) (rate(windows_cpu_time_total{mode=\"idle\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])*100)))",
+ "legendFormat": "Mean"
+ }
+ ],
+ "title": "CPU usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Top 25",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "fillOpacity": 1,
+ "gradientMode": "scheme",
+ "lineInterpolation": "smooth",
+ "lineWidth": 1,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "links": [
+ {
+ "title": "Drill down to this instance",
+ "url": "d/windows-overview?var-instance=${__field.labels.instance}&${__url_time_range}"
+ }
+ ],
+ "max": 100,
+ "min": 0,
+ "unit": "percent"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mean"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-purple",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ },
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "dash": [
+ 10,
+ 10
+ ],
+ "fill": "dash"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max",
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "topk(25,100 - windows_os_physical_memory_free_bytes{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"} / windows_cs_physical_memory_bytes{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"} * 100)",
+ "legendFormat": "{{instance}}"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "avg(100 - windows_os_physical_memory_free_bytes{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"} / windows_cs_physical_memory_bytes{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"} * 100)",
+ "legendFormat": "Mean"
+ }
+ ],
+ "title": "Memory usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Top 25",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "fillOpacity": 1,
+ "gradientMode": "scheme",
+ "lineInterpolation": "smooth",
+ "lineWidth": 1,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "links": [
+ {
+ "title": "Drill down to this instance",
+ "url": "d/windows-overview?var-instance=${__field.labels.instance}&var-volume=${__field.labels.volume}&${__url_time_range}"
+ }
+ ],
+ "max": 100,
+ "min": 0,
+ "unit": "percent"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mean"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-purple",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ },
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "dash": [
+ 10,
+ 10
+ ],
+ "fill": "dash"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 21
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max",
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "topk(25,(1-clamp_max(irate(windows_logical_disk_idle_seconds_total{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]),1)) * 100)",
+ "legendFormat": "{{instance}}: {{volume}}"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "avg((1-clamp_max(irate(windows_logical_disk_idle_seconds_total{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]),1)) * 100)",
+ "legendFormat": "Mean"
+ }
+ ],
+ "title": "Disk IO",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Top 25",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "fillOpacity": 1,
+ "gradientMode": "scheme",
+ "lineInterpolation": "smooth",
+ "lineWidth": 1,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "links": [
+ {
+ "title": "Drill down to this instance",
+ "url": "d/windows-overview?var-instance=${__field.labels.instance}&var-volume=${__field.labels.volume}&${__url_time_range}"
+ }
+ ],
+ "max": 100,
+ "min": 0,
+ "unit": "percent"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mean"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-purple",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ },
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "dash": [
+ 10,
+ 10
+ ],
+ "fill": "dash"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 21
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max",
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "right"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "topk(25,100 - windows_logical_disk_free_bytes{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}/windows_logical_disk_size_bytes{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}*100)",
+ "legendFormat": "{{instance}}: {{volume}}"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "avg(100 - windows_logical_disk_free_bytes{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}/windows_logical_disk_size_bytes{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}*100)",
+ "legendFormat": "Mean"
+ }
+ ],
+ "title": "Disk space usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Top 25.\n\n**Network errors**:\n\nNetwork errors refer to issues that occur during the transmission of data across a network. \n\nThese errors can result from various factors, including physical issues, jitter, collisions, noise and interference.\n\nMonitoring network errors is essential for diagnosing and resolving issues, as they can indicate problems with network hardware or environmental factors affecting network quality.\n\n**Dropped packets**:\n\nDropped packets occur when data packets traveling through a network are intentionally discarded or lost due to congestion, resource limitations, or network configuration issues. \n\nCommon causes include network congestion, buffer overflows, QoS settings, and network errors, as corrupted or incomplete packets may be discarded by receiving devices.\n\nDropped packets can impact network performance and lead to issues such as degraded voice or video quality in real-time applications.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "drawStyle": "points",
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "noValue": "No errors",
+ "unit": "pps"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "topk(25, irate(windows_net_packets_outbound_errors_total{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))>0.5",
+ "legendFormat": "{{instance}}: {{ nic }} transmitted"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "topk(25, irate(windows_net_packets_received_errors_total{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))>0.5",
+ "legendFormat": "{{instance}}: {{ nic }} received"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "topk(25, irate(windows_net_packets_received_unknown_total{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))>0.5",
+ "legendFormat": "{{instance}}: {{ nic }} received (unknown)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "topk(25, irate(windows_net_packets_outbound_discarded_total{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))>0.5",
+ "legendFormat": "{{instance}}: {{ nic }} transmitted packets dropped"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "topk(25, irate(windows_net_packets_received_discarded_total{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))>0.5",
+ "legendFormat": "{{instance}}: {{ nic }} received packets dropped"
+ }
+ ],
+ "title": "Network errors and dropped packets",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "windows"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Data source",
+ "name": "datasource",
+ "query": "prometheus",
+ "regex": "Prometheus|Cortex|Mimir|grafanacloud-.+-prom",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(windows_os_info{job=~\".*windows.*\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values(windows_os_info{job=~\".*windows.*\",job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "hide": 2,
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "Loki|.+logs",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "Windows fleet overview",
+ "uid": "windows-fleet"
+}
diff --git a/assets/windows/dashboards/logs b/assets/windows/dashboards/logs
new file mode 100644
index 0000000..4210cf3
--- /dev/null
+++ b/assets/windows/dashboards/logs
@@ -0,0 +1,403 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "enable": true,
+ "expr": "{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\", channel=\"System\", level=\"Critical\"} | json",
+ "hide": true,
+ "iconColor": "light-purple",
+ "name": "Critical system event",
+ "tagKeys": "job,instance,level",
+ "textFormat": "{{message}}",
+ "titleFormat": "Critical system event"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "enable": true,
+ "expr": "windows_system_system_up_time{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}*1000 > $__from < $__to",
+ "hide": true,
+ "iconColor": "light-yellow",
+ "name": "Reboot",
+ "tagKeys": "job,instance",
+ "titleFormat": "Reboot",
+ "useValueForTime": "on"
+ },
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "enable": true,
+ "expr": "{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\", source=\"Service Control Manager\", level=\"Error\"} |= \"terminated\" | json",
+ "hide": true,
+ "iconColor": "light-orange",
+ "name": "Service failed",
+ "tagKeys": "job,instance,level",
+ "textFormat": "{{message}}",
+ "titleFormat": "Service failed"
+ }
+ ]
+ },
+ "links": [
+ {
+ "keepTime": true,
+ "title": "Back to Windows fleet",
+ "type": "link",
+ "url": "/d/windows-fleet"
+ },
+ {
+ "keepTime": true,
+ "title": "Back to Windows overview",
+ "type": "link",
+ "url": "/d/windows-overview"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "windows"
+ ],
+ "title": "All Windows dashboards",
+ "type": "dashboards"
+ }
+ ],
+ "panels": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "description": "Logs volume grouped by \"level\" label.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "drawStyle": "bars",
+ "fillOpacity": 50,
+ "stacking": {
+ "mode": "normal"
+ }
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)merg|(F|f)atal|(A|a)lert|(C|c)rit.*"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(E|e)(rr.*|RR.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(W|w)(arn.*|ARN.*|rn|RN)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(N|n)(otice|ote)|(I|i)(nf.*|NF.*)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "dbg.*|DBG.*|(D|d)(EBUG|ebug)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "(T|t)(race|RACE)"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "logs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 24
+ },
+ "id": 1,
+ "interval": "30s",
+ "options": {
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "sum by (level) (count_over_time({job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\",channel=~\"$channel\",source=~\"$source\",keywords=~\"$keywords\",level=~\"$level\"}\n|~ \"$regex_search\"\n| json | __error__=``\n[$__interval]))\n",
+ "legendFormat": "{{ level }}"
+ }
+ ],
+ "title": "Logs volume",
+ "transformations": [
+ {
+ "id": "renameByRegex",
+ "options": {
+ "regex": "Value",
+ "renamePattern": "logs"
+ }
+ }
+ ],
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "datasource",
+ "uid": "-- Mixed --"
+ },
+ "gridPos": {
+ "h": 18,
+ "w": 24
+ },
+ "id": 2,
+ "options": {
+ "dedupStrategy": "exact",
+ "enableLogDetails": true,
+ "prettifyLogMessage": true,
+ "showTime": false,
+ "wrapLogMessage": false
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "expr": "{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\",channel=~\"$channel\",source=~\"$source\",keywords=~\"$keywords\",level=~\"$level\"} \n|~ \"$regex_search\"\n| json | __error__=``\n| label_format timestamp=\"{{__timestamp__}}\"\n| drop channel_extracted,source_extracted,computer_extracted,level_extracted,keywords_extracted\n| line_format `{{ if eq \"[[instance]]\" \".*\" }}{{ alignLeft 25 .instance}}|{{end}}{{alignLeft 12 .channel }}| {{ alignLeft 25 .source}}| {{ .message }}`\n\n"
+ }
+ ],
+ "title": "Logs",
+ "type": "logs"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "windows"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "Loki|.+logs",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values({job=~\".*windows.*\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "query": "label_values({job=~\".*windows.*\",job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Channel",
+ "multi": true,
+ "name": "channel",
+ "query": "label_values({job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}, channel)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Source",
+ "multi": true,
+ "name": "source",
+ "query": "label_values({job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\",channel=~\"$channel\"}, source)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Keywords",
+ "multi": true,
+ "name": "keywords",
+ "query": "label_values({job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\",channel=~\"$channel\",source=~\"$source\"}, keywords)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".*",
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "includeAll": true,
+ "label": "Level",
+ "multi": true,
+ "name": "level",
+ "query": "label_values({job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\",channel=~\"$channel\",source=~\"$source\",keywords=~\"$keywords\"}, level)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "",
+ "value": ""
+ },
+ "label": "Regex search",
+ "name": "regex_search",
+ "options": [
+ {
+ "selected": true,
+ "text": "",
+ "value": ""
+ }
+ ],
+ "query": "",
+ "type": "textbox"
+ },
+ {
+ "hide": 2,
+ "label": "Data source",
+ "name": "datasource",
+ "query": "prometheus",
+ "regex": "Prometheus|Cortex|Mimir|grafanacloud-.+-prom",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "Windows logs",
+ "uid": "windows-logs"
+}
diff --git a/assets/windows/dashboards/overview b/assets/windows/dashboards/overview
new file mode 100644
index 0000000..69a671d
--- /dev/null
+++ b/assets/windows/dashboards/overview
@@ -0,0 +1,1281 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "enable": true,
+ "expr": "{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\", channel=\"System\", level=\"Critical\"} | json",
+ "hide": true,
+ "iconColor": "light-purple",
+ "name": "Critical system event",
+ "tagKeys": "job,instance,level",
+ "textFormat": "{{message}}",
+ "titleFormat": "Critical system event"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "enable": true,
+ "expr": "windows_system_system_up_time{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}*1000 > $__from < $__to",
+ "hide": true,
+ "iconColor": "light-yellow",
+ "name": "Reboot",
+ "tagKeys": "job,instance",
+ "titleFormat": "Reboot",
+ "useValueForTime": "on"
+ },
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "enable": true,
+ "expr": "{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\", source=\"Service Control Manager\", level=\"Error\"} |= \"terminated\" | json",
+ "hide": true,
+ "iconColor": "light-orange",
+ "name": "Service failed",
+ "tagKeys": "job,instance,level",
+ "textFormat": "{{message}}",
+ "titleFormat": "Service failed"
+ }
+ ]
+ },
+ "links": [
+ {
+ "keepTime": true,
+ "title": "Back to Windows fleet",
+ "type": "link",
+ "url": "/d/windows-fleet"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "windows"
+ ],
+ "title": "All Windows dashboards",
+ "type": "dashboards"
+ }
+ ],
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "title": "Overview",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The duration of time that has passed since the last reboot or system start.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "orange",
+ "value": null
+ },
+ {
+ "color": "text",
+ "value": 600
+ }
+ ]
+ },
+ "unit": "dtdurations"
+ }
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 6,
+ "x": 0,
+ "y": 1
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "time() - windows_system_system_up_time{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}"
+ }
+ ],
+ "title": "Uptime",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "System's hostname.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 6,
+ "x": 6,
+ "y": 1
+ },
+ "id": 3,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "/^hostname$/"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_os_info{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table"
+ }
+ ],
+ "title": "Hostname",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Version of Windows operating system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 6,
+ "x": 12,
+ "y": 1
+ },
+ "id": 4,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "/^version$/"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_os_info{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table"
+ }
+ ],
+ "title": "OS version",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "OS family includes various versions and editions of the Windows operating system.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 6,
+ "x": 18,
+ "y": 1
+ },
+ "id": 5,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "/^product$/"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_os_info{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table"
+ }
+ ],
+ "title": "OS family",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "CPU count is the number of processor cores or central processing units (CPUs) in a computer,\ndetermining its processing capability and ability to handle tasks concurrently.\n",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 6,
+ "x": 0,
+ "y": 3
+ },
+ "id": 6,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_cs_logical_processors{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}"
+ }
+ ],
+ "title": "CPU count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Amount of random-access memory (RAM) installed.\nIt represents the system's available working memory that applications and the operating system use to perform tasks.\nA higher memory total generally leads to better system performance and the ability to run more demanding applications and processes simultaneously.\n",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ },
+ "unit": "bytes"
+ }
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 6,
+ "x": 6,
+ "y": 3
+ },
+ "id": 7,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_cs_physical_memory_bytes{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "legendFormat": "Memory total"
+ }
+ ],
+ "title": "Memory total",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "A page file (also known as a \"paging file\") is an optional, hidden system file on a hard disk.\nPage files enable the system to remove infrequently accessed modified pages from physical memory to let the system use physical memory more efficiently for more frequently accessed pages.\n\nhttps://learn.microsoft.com/en-us/troubleshoot/windows-client/performance/introduction-to-the-page-file\n",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ },
+ "unit": "bytes"
+ }
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 6,
+ "x": 12,
+ "y": 3
+ },
+ "id": 8,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_os_paging_limit_bytes{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}"
+ }
+ ],
+ "title": "Pagefile size",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Total storage capacity on the primary hard drive (usually the system drive) of a computer running a Windows operating system.\n",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ },
+ "unit": "bytes"
+ }
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 6,
+ "x": 18,
+ "y": 3
+ },
+ "id": 9,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_logical_disk_size_bytes{volume=\"C:\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}"
+ }
+ ],
+ "title": "Disk C: size",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 5
+ },
+ "id": 10,
+ "title": "CPU",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Total CPU utilization percent is a metric that indicates the overall level of central processing unit (CPU) usage in a computer system.\nIt represents the combined load placed on all CPU cores or processors.\n\nFor instance, if the total CPU utilization percent is 50%, it means that,\non average, half of the CPU's processing capacity is being used to execute tasks. A higher percentage indicates that the CPU is working more intensively, potentially leading to system slowdowns if it remains consistently high.\n",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "continuous-BlYlRd"
+ },
+ "decimals": 1,
+ "max": 100,
+ "min": 0,
+ "unit": "percent"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 6
+ },
+ "id": 11,
+ "options": {
+ "colorMode": "value",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "100 - (avg without (mode,core) (rate(windows_cpu_time_total{mode=\"idle\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])*100))",
+ "legendFormat": "CPU usage"
+ }
+ ],
+ "title": "CPU usage",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Total CPU utilization percent is a metric that indicates the overall level of central processing unit (CPU) usage in a computer system.\nIt represents the combined load placed on all CPU cores or processors.\n\nFor instance, if the total CPU utilization percent is 50%, it means that,\non average, half of the CPU's processing capacity is being used to execute tasks. A higher percentage indicates that the CPU is working more intensively, potentially leading to system slowdowns if it remains consistently high.\n",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "scheme",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "max": 100,
+ "min": 0,
+ "unit": "percent"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 18,
+ "x": 6,
+ "y": 6
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "100 - (avg without (mode,core) (rate(windows_cpu_time_total{mode=\"idle\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])*100))",
+ "legendFormat": "CPU usage"
+ }
+ ],
+ "title": "CPU usage",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 12
+ },
+ "id": 13,
+ "title": "Memory",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "RAM (random-access memory) currently in use by the operating system and running applications, in percent.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "continuous-BlYlRd"
+ },
+ "decimals": 1,
+ "max": 100,
+ "min": 0,
+ "unit": "percent"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 13
+ },
+ "id": 14,
+ "options": {
+ "colorMode": "value",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "100 - windows_os_physical_memory_free_bytes{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"} / windows_cs_physical_memory_bytes{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"} * 100"
+ }
+ ],
+ "title": "Memory usage",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "RAM (random-access memory) currently in use by the operating system and running applications, in bytes.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "min": 0,
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": ".*(T|t)otal.*"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-orange",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ },
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "dash": [
+ 10,
+ 10
+ ],
+ "fill": "dash"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 18,
+ "x": 6,
+ "y": 13
+ },
+ "id": 15,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_cs_physical_memory_bytes{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"} - windows_os_physical_memory_free_bytes{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "legendFormat": "Memory used"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_cs_physical_memory_bytes{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "legendFormat": "Memory total"
+ }
+ ],
+ "title": "Memory usage",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 19
+ },
+ "id": 16,
+ "title": "Disk",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Disk read/writes in bytes per second.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 1,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "unit": "Bps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/time|used|busy|util/"
+ },
+ "properties": [
+ {
+ "id": "custom.axisSoftMax",
+ "value": 100
+ },
+ {
+ "id": "custom.drawStyle",
+ "value": "points"
+ },
+ {
+ "id": "unit",
+ "value": "percent"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(windows_logical_disk_read_bytes_total{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ volume }} read"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(windows_logical_disk_write_bytes_total{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ volume }} written"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(1-clamp_max(irate(windows_logical_disk_idle_seconds_total{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]),1)) * 100",
+ "legendFormat": "{{ volume }} io util"
+ }
+ ],
+ "title": "Disk reads/writes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "This table provides information about total disk space, used space, available space, and usage percentages for each mounted file system on the system.\n",
+ "fieldConfig": {
+ "defaults": {
+ "thresholds": {
+ "steps": [
+ {
+ "color": "light-blue",
+ "value": null
+ },
+ {
+ "color": "light-yellow",
+ "value": 0.80000000000000004
+ },
+ {
+ "color": "light-red",
+ "value": 0.90000000000000002
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mounted on"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": "260"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Size"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": "80"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Used"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": "80"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Available"
+ },
+ "properties": [
+ {
+ "id": "custom.width",
+ "value": "80"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Used, %"
+ },
+ "properties": [
+ {
+ "id": "custom.displayMode",
+ "value": "basic"
+ },
+ {
+ "id": "max",
+ "value": 1
+ },
+ {
+ "id": "min",
+ "value": 0
+ },
+ {
+ "id": "unit",
+ "value": "percentunit"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "id": 18,
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_logical_disk_size_bytes{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "refId": "TOTAL"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_logical_disk_free_bytes{volume!~\"HarddiskVolume.*\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "legendFormat": "{{ volume }} available",
+ "refId": "FREE"
+ }
+ ],
+ "title": "Disk space usage",
+ "transformations": [
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "Value #FREE": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "Value #TOTAL": {
+ "aggregations": [
+ "lastNotNull"
+ ],
+ "operation": "aggregate"
+ },
+ "volume": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ }
+ }
+ }
+ },
+ {
+ "id": "merge",
+ "options": { }
+ },
+ {
+ "id": "calculateField",
+ "options": {
+ "alias": "Used",
+ "binary": {
+ "left": "Value #TOTAL (lastNotNull)",
+ "operator": "-",
+ "reducer": "sum",
+ "right": "Value #FREE (lastNotNull)"
+ },
+ "mode": "binary",
+ "reduce": {
+ "reducer": "sum"
+ }
+ }
+ },
+ {
+ "id": "calculateField",
+ "options": {
+ "alias": "Used, %",
+ "binary": {
+ "left": "Used",
+ "operator": "/",
+ "reducer": "sum",
+ "right": "Value #TOTAL (lastNotNull)"
+ },
+ "mode": "binary",
+ "reduce": {
+ "reducer": "sum"
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": { },
+ "indexByName": {
+ "Used": 3,
+ "Used, %": 4,
+ "Value #FREE (lastNotNull)": 2,
+ "Value #TOTAL (lastNotNull)": 1,
+ "volume": 0
+ },
+ "renameByName": {
+ "Value #FREE (lastNotNull)": "Available",
+ "Value #TOTAL (lastNotNull)": "Size",
+ "volume": "Mounted on"
+ }
+ }
+ },
+ {
+ "id": "sortBy",
+ "options": {
+ "fields": { },
+ "sort": [
+ {
+ "desc": false,
+ "field": "Mounted on"
+ }
+ ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 28
+ },
+ "id": 19,
+ "title": "Network",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Network traffic (bits per sec) measures data transmitted and received.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "axisCenteredZero": false,
+ "axisLabel": "out(-) | in(+)",
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "unit": "bps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/transmit|tx|out/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 29
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(windows_net_bytes_received_total{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])*8",
+ "legendFormat": "{{ nic }} received"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(windows_net_bytes_sent_total{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])*8",
+ "legendFormat": "{{ nic }} transmitted"
+ }
+ ],
+ "title": "Network traffic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "**Network errors**:\n\nNetwork errors refer to issues that occur during the transmission of data across a network. \n\nThese errors can result from various factors, including physical issues, jitter, collisions, noise and interference.\n\nMonitoring network errors is essential for diagnosing and resolving issues, as they can indicate problems with network hardware or environmental factors affecting network quality.\n\n**Dropped packets**:\n\nDropped packets occur when data packets traveling through a network are intentionally discarded or lost due to congestion, resource limitations, or network configuration issues. \n\nCommon causes include network congestion, buffer overflows, QoS settings, and network errors, as corrupted or incomplete packets may be discarded by receiving devices.\n\nDropped packets can impact network performance and lead to issues such as degraded voice or video quality in real-time applications.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "axisCenteredZero": false,
+ "axisLabel": "out(-) | in(+)",
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "noValue": "No errors",
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/transmit|tx|out/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 29
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(windows_net_packets_outbound_errors_total{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ nic }} transmitted"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(windows_net_packets_received_errors_total{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ nic }} received"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(windows_net_packets_received_unknown_total{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ nic }} received (unknown)"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(windows_net_packets_outbound_discarded_total{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ nic }} transmitted packets dropped"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(windows_net_packets_received_discarded_total{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "{{ nic }} received packets dropped"
+ }
+ ],
+ "title": "Network errors and dropped packets",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "windows"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Data source",
+ "name": "datasource",
+ "query": "prometheus",
+ "regex": "Prometheus|Cortex|Mimir|grafanacloud-.+-prom",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(windows_os_info{job=~\".*windows.*\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": false,
+ "label": "Instance",
+ "multi": false,
+ "name": "instance",
+ "query": "label_values(windows_os_info{job=~\".*windows.*\",job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "hide": 2,
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "Loki|.+logs",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "Windows overview",
+ "uid": "windows-overview"
+}
diff --git a/assets/windows/dashboards/system b/assets/windows/dashboards/system
new file mode 100644
index 0000000..85a4f65
--- /dev/null
+++ b/assets/windows/dashboards/system
@@ -0,0 +1,637 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "enable": true,
+ "expr": "{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\", channel=\"System\", level=\"Critical\"} | json",
+ "hide": true,
+ "iconColor": "light-purple",
+ "name": "Critical system event",
+ "tagKeys": "job,instance,level",
+ "textFormat": "{{message}}",
+ "titleFormat": "Critical system event"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "enable": true,
+ "expr": "windows_system_system_up_time{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}*1000 > $__from < $__to",
+ "hide": true,
+ "iconColor": "light-yellow",
+ "name": "Reboot",
+ "tagKeys": "job,instance",
+ "titleFormat": "Reboot",
+ "useValueForTime": "on"
+ },
+ {
+ "datasource": {
+ "type": "loki",
+ "uid": "${loki_datasource}"
+ },
+ "enable": true,
+ "expr": "{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\", source=\"Service Control Manager\", level=\"Error\"} |= \"terminated\" | json",
+ "hide": true,
+ "iconColor": "light-orange",
+ "name": "Service failed",
+ "tagKeys": "job,instance,level",
+ "textFormat": "{{message}}",
+ "titleFormat": "Service failed"
+ }
+ ]
+ },
+ "links": [
+ {
+ "keepTime": true,
+ "title": "Back to Windows fleet",
+ "type": "link",
+ "url": "/d/windows-fleet"
+ },
+ {
+ "keepTime": true,
+ "title": "Back to Windows overview",
+ "type": "link",
+ "url": "/d/windows-overview"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "windows"
+ ],
+ "title": "All Windows dashboards",
+ "type": "dashboards"
+ }
+ ],
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1,
+ "title": "System",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Total CPU utilization percent is a metric that indicates the overall level of central processing unit (CPU) usage in a computer system.\nIt represents the combined load placed on all CPU cores or processors.\n\nFor instance, if the total CPU utilization percent is 50%, it means that,\non average, half of the CPU's processing capacity is being used to execute tasks. A higher percentage indicates that the CPU is working more intensively, potentially leading to system slowdowns if it remains consistently high.\n",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "continuous-BlYlRd"
+ },
+ "decimals": 1,
+ "max": 100,
+ "min": 0,
+ "unit": "percent"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 6,
+ "x": 0,
+ "y": 1
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "100 - (avg without (mode,core) (rate(windows_cpu_time_total{mode=\"idle\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])*100))",
+ "legendFormat": "CPU usage"
+ }
+ ],
+ "title": "CPU usage",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Total CPU utilization percent is a metric that indicates the overall level of central processing unit (CPU) usage in a computer system.\nIt represents the combined load placed on all CPU cores or processors.\n\nFor instance, if the total CPU utilization percent is 50%, it means that,\non average, half of the CPU's processing capacity is being used to execute tasks. A higher percentage indicates that the CPU is working more intensively, potentially leading to system slowdowns if it remains consistently high.\n",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "continuous-BlYlRd"
+ },
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "scheme",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "decimals": 1,
+ "max": 100,
+ "min": 0,
+ "unit": "percent"
+ }
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 9,
+ "x": 6,
+ "y": 1
+ },
+ "id": 3,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "100 - (avg without (mode,core) (rate(windows_cpu_time_total{mode=\"idle\", job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])*100))",
+ "legendFormat": "CPU usage"
+ }
+ ],
+ "title": "CPU usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "CPU usage by different modes.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 80,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never",
+ "stacking": {
+ "mode": "normal"
+ }
+ },
+ "max": 100,
+ "min": 0,
+ "unit": "percent"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "idle"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "interrupt"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-purple",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "user"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "system|privileged"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 9,
+ "x": 15,
+ "y": 1
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum by(instance, mode) (irate(windows_cpu_time_total{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])) \n/ on(instance) \ngroup_left sum by (instance) ((irate(windows_cpu_time_total{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))) * 100\n",
+ "legendFormat": "{{ mode }}"
+ }
+ ],
+ "title": "CPU usage by modes",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The CPU average queue size in Windows, often referred to as the \"Processor Queue Length\" or \"CPU Queue Length,\" is a metric that measures the number of threads or tasks waiting to be processed by the central processing unit (CPU) at a given moment.\nIt is an essential performance indicator that reflects the workload and responsiveness of the CPU.\nWhen the CPU queue length is high, it indicates that there are more tasks in line for processing than the CPU can handle immediately.\n\nThis can lead to system slowdowns, decreased responsiveness, and potential performance issues. High CPU queue lengths are often associated with CPU saturation, where the CPU is struggling to keep up with the demands placed on it.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 8
+ },
+ "id": 5,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_system_processor_queue_length{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}\n",
+ "legendFormat": "CPU average queue"
+ }
+ ],
+ "title": "CPU average queue size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Context switches occur when the operating system switches from running one process to another. Interrupts are signals sent to the CPU by external devices to request its attention.\n\nA high number of context switches or interrupts can indicate that the system is overloaded or that there are problems with specific devices or processes.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 8
+ },
+ "id": 6,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(windows_system_context_switches_total{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval])",
+ "legendFormat": "Context switches"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "sum without (core) (irate(windows_cpu_interrupts_total{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}[$__rate_interval]))",
+ "legendFormat": "Interrupts"
+ }
+ ],
+ "title": "Context switches/Interrupts",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 0,
+ "x": 24,
+ "y": 15
+ },
+ "id": 7,
+ "title": "Time",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Current system timezone.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "text",
+ "mode": "fixed"
+ }
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 0,
+ "y": 16
+ },
+ "id": 8,
+ "options": {
+ "colorMode": "fixed",
+ "graphMode": "none",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "/^timezone$/"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_os_timezone{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "format": "table"
+ }
+ ],
+ "title": "Timezone",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Status of time synchronization.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "color": "light-yellow",
+ "index": 1,
+ "text": "Not in sync"
+ },
+ "1": {
+ "color": "light-green",
+ "index": 0,
+ "text": "In sync"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "noValue": "No data. Please check that \"time\" collector is enabled."
+ }
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 21,
+ "x": 3,
+ "y": 16
+ },
+ "id": 9,
+ "maxDataPoints": 50,
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "clamp_max(windows_time_ntp_client_time_sources{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}, 1)",
+ "legendFormat": "NTP status"
+ }
+ ],
+ "title": "NTP status",
+ "type": "status-history"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "NTP trip delay: Total roundtrip delay experienced by the NTP client in receiving a response from the server for the most recent request,\nin seconds. This is the time elapsed on the NTP client between transmitting a request to the NTP server and receiving a valid response from the server.\n\nTime offset: Absolute time offset between the system clock and the chosen time source, in seconds.\n",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "fillOpacity": 30,
+ "gradientMode": "opacity",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "showPoints": "never"
+ },
+ "noValue": "No data. Please check that \"time\" collector is enabled.",
+ "unit": "seconds"
+ }
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 23
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list"
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "v10.0.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_time_ntp_round_trip_delay_seconds{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "legendFormat": "NTP trip delay"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "windows_time_computed_time_offset_seconds{job=~\".*windows.*\",job=~\"$job\",instance=~\"$instance\"}",
+ "legendFormat": "Time offset"
+ }
+ ],
+ "title": "NTP delay",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 36,
+ "tags": [
+ "windows"
+ ],
+ "templating": {
+ "list": [
+ {
+ "label": "Data source",
+ "name": "datasource",
+ "query": "prometheus",
+ "regex": "Prometheus|Cortex|Mimir|grafanacloud-.+-prom",
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "query": "label_values(windows_os_info{job=~\".*windows.*\"}, job)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "includeAll": false,
+ "label": "Instance",
+ "multi": false,
+ "name": "instance",
+ "query": "label_values(windows_os_info{job=~\".*windows.*\",job=~\"$job\"}, instance)",
+ "refresh": 2,
+ "sort": 1,
+ "type": "query"
+ },
+ {
+ "hide": 2,
+ "label": "Loki data source",
+ "name": "loki_datasource",
+ "query": "loki",
+ "regex": "Loki|.+logs",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-1h",
+ "to": "now"
+ },
+ "timezone": "default",
+ "title": "Windows CPU and system",
+ "uid": "windows-system"
+}
diff --git a/assets/windows/rules.yaml b/assets/windows/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/windows/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/wso2-enterprise-integrator/alerts.yaml b/assets/wso2-enterprise-integrator/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/wso2-enterprise-integrator/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/wso2-enterprise-integrator/dashboards/API_Metrics.json b/assets/wso2-enterprise-integrator/dashboards/API_Metrics.json
new file mode 100644
index 0000000..aa8209a
--- /dev/null
+++ b/assets/wso2-enterprise-integrator/dashboards/API_Metrics.json
@@ -0,0 +1,974 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "This Dashboard provides an overview of API services deployed in Enterprise Integrator Cluster.",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 12888,
+ "graphTooltip": 0,
+ "id": 20,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 4,
+ "panels": [ ],
+ "repeat": "service",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "$service",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "dtdurations",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 0,
+ "y": 1
+ },
+ "id": 6,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "time() - max(wso2_integration_service_up{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"})",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Up Time",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays all time request count served by this API service. This will also include the error requests.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "color": "green",
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 4,
+ "y": 1
+ },
+ "id": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Visit Node Dashboard",
+ "url": "https://stackoverflow.com/questions/43890629/prometheus-timestamps"
+ }
+ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum((max_over_time(wso2_integration_api_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range]))- (min_over_time(wso2_integration_api_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "All Request Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays approximate request count received by this API service within the selected time range.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "": {
+ "text": ""
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 8,
+ "y": 1
+ },
+ "id": 16,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "(sum((max_over_time(wso2_integration_api_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range]))- (min_over_time(wso2_integration_api_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range]))))-(sum((max_over_time(wso2_integration_api_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range]))- (min_over_time(wso2_integration_api_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range]))))",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "(sum(max_over_time(wso2_integration_api_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])-min_over_time(wso2_integration_api_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])))",
+ "hide": true,
+ "interval": "1m",
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "title": "Successful Request Count",
+ "transformations": [ ],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays all time error count occurred within this API service",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "color": "red",
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ }
+ ]
+ },
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 12,
+ "y": 1
+ },
+ "id": 20,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum((max_over_time(wso2_integration_api_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range]))-(min_over_time(wso2_integration_api_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Error Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays number of error requests occurred during the selected time range.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "color": "green",
+ "text": "0%"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "max": 1,
+ "min": 0,
+ "noValue": "0%",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0.01
+ }
+ ]
+ },
+ "unit": "percentunit",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 16,
+ "y": 1
+ },
+ "id": 19,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum((max_over_time(wso2_integration_api_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range]))-(min_over_time(wso2_integration_api_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])))/sum((max_over_time(wso2_integration_api_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range]))-(min_over_time(wso2_integration_api_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])))",
+ "interval": "30s",
+ "legendFormat": "Current",
+ "refId": "A"
+ }
+ ],
+ "title": "Error Percentage",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays number of nodes this API service is deployed.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 20,
+ "y": 1
+ },
+ "id": 18,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "count(wso2_integration_service_up{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Deployed Node Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays the request rate for this API service.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "TPS",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 6
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "sum(rate(wso2_integration_api_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__rate_interval]))",
+ "interval": "70s",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Request Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays error rate of this API service.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "TPS",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 6
+ },
+ "id": 12,
+ "interval": "",
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(rate(wso2_integration_api_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__rate_interval]))",
+ "interval": "1m",
+ "legendFormat": "{{kubernetes_pod_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Error Rate",
+ "type": "timeseries"
+ },
+ {
+ "cards": { },
+ "color": {
+ "cardColor": "#73BF69",
+ "colorScale": "sqrt",
+ "colorScheme": "interpolateSpectral",
+ "exponent": 0.5,
+ "mode": "opacity"
+ },
+ "dataFormat": "tsbuckets",
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays the response time of all requests served by this API service in a heat map. Each tile will represent number of requests which fell in to the pre-defined time bucket during the bucket time span. If you seen any anomalies please use the below link to view tracing information related to $service",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ },
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 6
+ },
+ "heatmap": { },
+ "hideZeroBuckets": false,
+ "highlightCards": true,
+ "id": 13,
+ "interval": "",
+ "legend": {
+ "show": true
+ },
+ "links": [ ],
+ "options": {
+ "calculate": false,
+ "calculation": { },
+ "cellGap": 2,
+ "cellValues": { },
+ "color": {
+ "exponent": 0.5,
+ "fill": "#73BF69",
+ "mode": "opacity",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "Oranges",
+ "steps": 128
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1.0000000000000001e-09
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "ge"
+ },
+ "showValue": "never",
+ "tooltip": {
+ "mode": "single",
+ "showColorScale": false,
+ "yHistogram": false
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "reverseYBuckets": false,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum by (le)(increase(wso2_integration_api_latency_seconds{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\", le=~\".+\"}[$__rate_interval]))",
+ "format": "heatmap",
+ "hide": false,
+ "instant": false,
+ "interval": "1m",
+ "legendFormat": "{{le}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Response Time",
+ "tooltip": {
+ "show": true,
+ "showHistogram": false
+ },
+ "type": "heatmap",
+ "xAxis": {
+ "show": true
+ },
+ "yAxis": {
+ "format": "s",
+ "logBase": 1,
+ "show": true
+ },
+ "yBucketBound": "upper"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 39,
+ "tags": [
+ "wso2-enterprise-integrator-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(wso2_integration_service_up{service_type=\"api\"}, job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(wso2_integration_service_up{service_type=\"api\"}, job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(wso2_integration_service_up{service_type=\"api\", job=~\"$job\"}, service_name)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Service",
+ "multi": true,
+ "name": "service",
+ "options": [ ],
+ "query": {
+ "query": "label_values(wso2_integration_service_up{service_type=\"api\", job=~\"$job\"}, service_name)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(wso2_integration_service_up{service_type=\"api\", service_name=~\"$service\", job=~\"$job\"}, instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(wso2_integration_service_up{service_type=\"api\", service_name=~\"$service\", job=~\"$job\"}, instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "WSO2 API Metrics",
+ "uid": "0KIvzUI7z",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/wso2-enterprise-integrator/dashboards/Cluster_Metrics.json b/assets/wso2-enterprise-integrator/dashboards/Cluster_Metrics.json
new file mode 100644
index 0000000..9a9e837
--- /dev/null
+++ b/assets/wso2-enterprise-integrator/dashboards/Cluster_Metrics.json
@@ -0,0 +1,1121 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "This Dashboard provides an overview of WSO2 integration cluster deployment",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 12783,
+ "graphTooltip": 0,
+ "id": 21,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 4,
+ "panels": [ ],
+ "repeat": "node",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "WSO2 Integration Cluster",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Displays the number of nodes connected to this cluster",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#B877D9",
+ "value": null
+ },
+ {
+ "color": "#56A64B",
+ "value": 0
+ },
+ {
+ "color": "#56A64B",
+ "value": 0
+ }
+ ]
+ },
+ "unit": "short",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 0,
+ "y": 1
+ },
+ "id": 35,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "count(wso2_integration_server_up{wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"})",
+ "format": "time_series",
+ "instant": false,
+ "interval": "30s",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Node Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Displays the number of services deployed in the cluster.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "semi-dark-green",
+ "value": null
+ }
+ ]
+ },
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 4,
+ "y": 1
+ },
+ "id": 36,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": true
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "count(count by(service_name,service_type)(wso2_integration_service_up{wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}))",
+ "instant": true,
+ "interval": "30s",
+ "legendFormat": "Current",
+ "refId": "A"
+ }
+ ],
+ "title": "Service Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Displays nodes that are deployed in this cluster",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unitScale": true
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Time"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Start Time"
+ },
+ {
+ "id": "unit",
+ "value": "Time"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "unit",
+ "value": "time: YYYY-MM-DD HH:mm:ss"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Node Name"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Visit node metrics for ${__cell}",
+ "url": "d/wso2-mi-node-metrics/wso2-integration-node-metrics?var-node=${__cell}&from=${__from}&to=${__to}&refresh=30s"
+ }
+ ]
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 8,
+ "x": 8,
+ "y": 1
+ },
+ "id": 37,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum by(instance) (wso2_integration_server_up{wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}>0)*1000",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Node List",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Displays services that are deployed in this cluster",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unitScale": true
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Time"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Deployed Time"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "unit",
+ "value": "time: YYYY-MM-DD HH:mm:ss"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "service_type"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Service Type"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "start_time"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Deploy Time"
+ },
+ {
+ "id": "unit",
+ "value": "dateTimeFromNow"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "unit",
+ "value": "time: YYYY-MM-DD HH:mm:ss"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "service_name"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Service Name"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Visit service metrics for ${__cell} ${__cell_2}",
+ "url": "d/wso2-observerbility-${__cell_2}/wso2-${__cell_2}-metrics?var-service=${__cell}&from=${__from}&to=${__to}&refresh=30s"
+ }
+ ]
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 8,
+ "x": 16,
+ "y": 1
+ },
+ "id": 22,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "max by(service_name,service_type) (wso2_integration_service_up{wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}>0)*1000",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Service List",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Displays the total request count served by the cluster for the selected time period. Request which resulted in errors will be counted here too.",
+ "fieldConfig": {
+ "defaults": {
+ "displayName": "",
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "color": "semi-dark-green",
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "semi-dark-green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 0,
+ "y": 7
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum((max_over_time({__name__ =~\"wso2_integration_.*_request_count_total\",wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}[$__range]))- (min_over_time({__name__ =~\"wso2_integration_.*_request_count_total\",wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}[$__range])))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Request Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Displays the total error count occurred in this cluster for the selected time period",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "color": "dark-red",
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "dark-red",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 4,
+ "y": 7
+ },
+ "id": 20,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum((max_over_time({__name__ =~\"wso2_integration_.*_request_count_error_total\",wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}[$__range]))- (min_over_time({__name__ =~\"wso2_integration_.*_request_count_error_total\",wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}[$__range])))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Error Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Displays the request rate received by cluster during the selected time period. This will also include error requests. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "TPS",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 13
+ },
+ "id": 9,
+ "interval": "",
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum(rate({__name__ =~\"wso2_integration_.*_request_count_total\",wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}[$__rate_interval]))",
+ "interval": "70s",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Request Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Displays the error rate occurred at this cluster during the selected time period. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "TPS",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 13
+ },
+ "id": 12,
+ "interval": "",
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum(rate({__name__ =~\"wso2_integration_.*_request_count_error_total\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}[$__rate_interval]))",
+ "interval": "1m",
+ "legendFormat": "{{kubernetes_pod_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Error Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "description": "Displays 95th and 50th percentile of response times served by all nodes of this cluster",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 13
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "histogram_quantile(0.5, sum(rate({__name__ =~\"wso2_integration_.*_latency_seconds\", le=~\".+\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}[$__rate_interval])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "1m",
+ "legendFormat": "50th Percentile",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "histogram_quantile(0.95, sum(rate({__name__ =~\"wso2_integration_.*_latency_seconds\", le=~\".+\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}[$__rate_interval])) by (le))",
+ "interval": "1m",
+ "legendFormat": "95th Percentile",
+ "refId": "B"
+ }
+ ],
+ "title": "Response Time",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 39,
+ "tags": [
+ "wso2-enterprise-integrator-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(wso2_integration_server_up, job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(wso2_integration_server_up, job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(wso2_integration_server_up, wso2_cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "wso2_cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(wso2_integration_server_up, wso2_cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "WSO2 Integration Cluster Metrics",
+ "uid": "TdzS6sS7z",
+ "version": 2,
+ "weekStart": ""
+}
diff --git a/assets/wso2-enterprise-integrator/dashboards/Inbound_Endpoint_Metrics.json b/assets/wso2-enterprise-integrator/dashboards/Inbound_Endpoint_Metrics.json
new file mode 100644
index 0000000..d99a067
--- /dev/null
+++ b/assets/wso2-enterprise-integrator/dashboards/Inbound_Endpoint_Metrics.json
@@ -0,0 +1,959 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "This Dashboard provides an overview of Inbound Endpoints deployed in Enterprise Integrator Cluster.",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 12890,
+ "graphTooltip": 0,
+ "id": 22,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 4,
+ "panels": [ ],
+ "repeat": "service",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "$service",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "dtdurations",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 0,
+ "y": 1
+ },
+ "id": 6,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "time() - max(wso2_integration_service_up{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"})",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Up Time",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays all time request count served by this API service. This will also include the error requests.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "color": "green",
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 4,
+ "y": 1
+ },
+ "id": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Visit Node Dashboard",
+ "url": "https://stackoverflow.com/questions/43890629/prometheus-timestamps"
+ }
+ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(max_over_time(wso2_integration_inbound_endpoint_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])-min_over_time(wso2_integration_inbound_endpoint_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range]))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "All Request Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays approximate request count received by this API service within the selected time range.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "color": "green",
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 8,
+ "y": 1
+ },
+ "id": 16,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "(sum(max_over_time(wso2_integration_inbound_endpoint_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])-min_over_time(wso2_integration_inbound_endpoint_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])))-(sum(max_over_time(wso2_integration_inbound_endpoint_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])-min_over_time(wso2_integration_inbound_endpoint_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])))",
+ "interval": "1m",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Successful Request Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays all time error count occurred within this API service",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "color": "red",
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 0
+ }
+ ]
+ },
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 12,
+ "y": 1
+ },
+ "id": 20,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(max_over_time(wso2_integration_inbound_endpoint_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])-min_over_time(wso2_integration_inbound_endpoint_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range]))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Error Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays percentage of error requests against total request count",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "color": "green",
+ "text": "0%"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "max": 1,
+ "min": 0,
+ "noValue": "0%",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 75
+ }
+ ]
+ },
+ "unit": "percentunit",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 16,
+ "y": 1
+ },
+ "id": 19,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(max_over_time(wso2_integration_inbound_endpoint_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])-min_over_time(wso2_integration_inbound_endpoint_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range]))/sum(max_over_time(wso2_integration_inbound_endpoint_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])-min_over_time(wso2_integration_proxy_inbound_endpoint_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range]))",
+ "interval": "30s",
+ "legendFormat": "Current",
+ "refId": "A"
+ }
+ ],
+ "title": "Error Percentage",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays number of nodes this API service is deployed.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 20,
+ "y": 1
+ },
+ "id": 18,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "count(wso2_integration_service_up{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Deployed Node Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays the request rate for this API service.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "TPS",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 6
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(rate(wso2_integration_inbound_endpoint_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__rate_interval]))",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Request Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays error rate of this API service.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "TPS",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 6
+ },
+ "id": 12,
+ "interval": "",
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(rate(wso2_integration_inbound_endpoint_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__rate_interval]))",
+ "interval": "1m",
+ "legendFormat": "{{kubernetes_pod_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Error Rate",
+ "type": "timeseries"
+ },
+ {
+ "cards": { },
+ "color": {
+ "cardColor": "#73BF69",
+ "colorScale": "sqrt",
+ "colorScheme": "interpolateYlOrRd",
+ "exponent": 0.5,
+ "mode": "opacity"
+ },
+ "dataFormat": "tsbuckets",
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays the response time of all requests served by this API service in a heat map. Each tile will represent number of requests which fell in to the pre-defined time bucket during the bucket time span.",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ },
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 6
+ },
+ "heatmap": { },
+ "hideZeroBuckets": false,
+ "highlightCards": true,
+ "id": 13,
+ "interval": "",
+ "legend": {
+ "show": true
+ },
+ "links": [ ],
+ "options": {
+ "calculate": false,
+ "calculation": { },
+ "cellGap": 2,
+ "cellValues": { },
+ "color": {
+ "exponent": 0.5,
+ "fill": "#73BF69",
+ "mode": "opacity",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "Oranges",
+ "steps": 128
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1.0000000000000001e-09
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "ge"
+ },
+ "showValue": "never",
+ "tooltip": {
+ "mode": "single",
+ "showColorScale": false,
+ "yHistogram": false
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "reverseYBuckets": false,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum by (le)(increase(wso2_integration_inbound_endpoint_latency_seconds{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\", le=~\".+\"}[$__rate_interval]))",
+ "format": "heatmap",
+ "hide": false,
+ "interval": "1m",
+ "legendFormat": "{{le}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Response Time",
+ "tooltip": {
+ "show": true,
+ "showHistogram": false
+ },
+ "type": "heatmap",
+ "xAxis": {
+ "show": true
+ },
+ "yAxis": {
+ "format": "s",
+ "logBase": 1,
+ "show": true
+ },
+ "yBucketBound": "upper"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 39,
+ "tags": [
+ "wso2-enterprise-integrator-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(wso2_integration_service_up{service_type=\"inbound-endpoint\"}, job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(wso2_integration_service_up{service_type=\"inbound-endpoint\"}, job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(wso2_integration_service_up{service_type=\"inbound-endpoint\", job=~\"$job\"}, service_name)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Service",
+ "multi": true,
+ "name": "service",
+ "options": [ ],
+ "query": {
+ "query": "label_values(wso2_integration_service_up{service_type=\"inbound-endpoint\", job=~\"$job\"}, service_name)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(wso2_integration_service_up{service_type=\"inbound-endpoint\", job=~\"$job\", service_name=~\"$service\"}, instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(wso2_integration_service_up{service_type=\"inbound-endpoint\", job=~\"$job\", service_name=~\"$service\"}, instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "WSO2 Inbound Endpoint Metrics",
+ "uid": "x5VJI8S7z",
+ "version": 2,
+ "weekStart": ""
+}
diff --git a/assets/wso2-enterprise-integrator/dashboards/Node_Metrics.json b/assets/wso2-enterprise-integrator/dashboards/Node_Metrics.json
new file mode 100644
index 0000000..784560f
--- /dev/null
+++ b/assets/wso2-enterprise-integrator/dashboards/Node_Metrics.json
@@ -0,0 +1,1360 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "This Dashboard provides an overview of a single WSO2 integration nodes",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 12887,
+ "graphTooltip": 0,
+ "id": 23,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 4,
+ "panels": [ ],
+ "repeat": "node",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Instance - $instance",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#B877D9",
+ "value": null
+ },
+ {
+ "color": "#56A64B",
+ "value": 0
+ },
+ {
+ "color": "#56A64B",
+ "value": 0
+ }
+ ]
+ },
+ "unit": "dtdurations",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 0,
+ "y": 1
+ },
+ "id": 35,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "fieldOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ },
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "max(time()-wso2_integration_server_up{instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"})",
+ "format": "time_series",
+ "instant": true,
+ "interval": "30s",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Up Time",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays the number of services deployed in this node.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "semi-dark-green",
+ "value": null
+ }
+ ]
+ },
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 4,
+ "y": 1
+ },
+ "id": 36,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": true
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "count(wso2_integration_service_up{instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"})",
+ "instant": true,
+ "interval": "30s",
+ "legendFormat": "Current",
+ "refId": "A"
+ }
+ ],
+ "title": "Service Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays current CPU utilisation of the system. If you observe high CPU utilisation refer below link and get a thread dump and thread usage for further investigations.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 8,
+ "y": 1
+ },
+ "id": 16,
+ "links": [
+ {
+ "title": "How to take thread usage and thread dump",
+ "url": "https://docs.wso2.com/display/CLUSTER44x/Troubleshooting+in+Production+Environments#TroubleshootinginProductionEnvironments-Analyzingastacktrace"
+ }
+ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "rate(process_cpu_seconds_total{instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}[$__rate_interval])",
+ "interval": "1m",
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "CPU Utilization",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays max and current used memory. If you observe any abnormalities refer below link and take a heap-dump of the system for further analysis.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "line+area"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "red",
+ "value": null
+ },
+ {
+ "color": "transparent"
+ }
+ ]
+ },
+ "unit": "decbytes",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 12,
+ "y": 1
+ },
+ "id": 18,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "How to capture state of the system",
+ "url": "https://docs.wso2.com/display/CLUSTER44x/Troubleshooting+in+Production+Environments#TroubleshootinginProductionEnvironments-Capturingthestateofthesystem"
+ }
+ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "jvm_memory_bytes_max{instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\",area=\"heap\"}",
+ "interval": "",
+ "legendFormat": "Max",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "jvm_memory_bytes_used{instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\", area=\"heap\"}",
+ "interval": "",
+ "legendFormat": "Used",
+ "refId": "B"
+ }
+ ],
+ "title": "JVM Heap Memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays services that are deployed in this instance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "auto",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 8,
+ "x": 16,
+ "y": 1
+ },
+ "id": 22,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "sum by(service_name,service_type, start_time) (wso2_integration_service_up{instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}*1000>0)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Service List",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays the total request count served by this node from the start. Request which resulted in error will be counted here too.",
+ "fieldConfig": {
+ "defaults": {
+ "displayName": "",
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "color": "semi-dark-green",
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "semi-dark-green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 0,
+ "y": 7
+ },
+ "id": 2,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "sum((max_over_time({__name__ =~\"wso2_integration_.*_request_count_total\",instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}[$__range]))- (min_over_time({__name__ =~\"wso2_integration_.*_request_count_total\",instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}[$__range])))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Request Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays the total error count occurred at this node from the start.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "color": "dark-red",
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "dark-red",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 4,
+ "y": 7
+ },
+ "id": 20,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "sum((max_over_time({__name__ =~\"wso2_integration_.*_request_count_error_total\",instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}[$__range]))- (min_over_time({__name__ =~\"wso2_integration_.*_request_count_error_total\",instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}[$__range])))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Error Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays the thread count per state. If you observe higher number of blocked threads refer below link and take a thread dump to analyze further.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "stepAfter",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 8,
+ "y": 7
+ },
+ "id": 19,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "How to take thread dump",
+ "url": "https://docs.wso2.com/display/CLUSTER44x/Troubleshooting+in+Production+Environments#TroubleshootinginProductionEnvironments-Analyzingastacktrace"
+ }
+ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "jvm_threads_state{instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\", state=\"RUNNABLE\"}",
+ "interval": "30s",
+ "legendFormat": "Runnable",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "jvm_threads_state{instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\", state=\"WAITING\"} ",
+ "interval": "30s",
+ "legendFormat": "Waiting",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "jvm_threads_state{instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\", state=\"BLOCKED\"}",
+ "interval": "30s",
+ "legendFormat": "Blocked",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "jvm_threads_state{instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\", state=\"TIMED_WAITING\"}",
+ "interval": "",
+ "legendFormat": "Timed Waiting",
+ "refId": "D"
+ }
+ ],
+ "title": "Thread Count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays 'Open' and 'Max' file descriptor count. If open descriptor count is high and exceeding max descriptor count refer below link to increase the max file descriptor count.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 4,
+ "x": 12,
+ "y": 7
+ },
+ "id": 6,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Performance Tuning Guide",
+ "url": "https://ei.docs.wso2.com/en/latest/micro-integrator/setup/performance_tuning/network_os_performance/"
+ }
+ ],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "process_open_fds{instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}",
+ "interval": "",
+ "legendFormat": "Open",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "process_max_fds{instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}",
+ "interval": "",
+ "legendFormat": "Max",
+ "refId": "B"
+ }
+ ],
+ "title": "Open File Descriptor Count",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays the request rate received by this node during the selected time period. This will also include error requests. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "TPS",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 13
+ },
+ "id": 9,
+ "interval": "",
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "sum(rate({__name__ =~\"wso2_integration_.*_request_count_total\",instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}[$__rate_interval]))",
+ "interval": "1m",
+ "intervalFactor": 1,
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Request Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays the error rate occurred at this node during the selected time period. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "TPS",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 13
+ },
+ "id": 12,
+ "interval": "",
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "sum(rate({__name__ =~\"wso2_integration_.*_request_count_error_total\",instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\"}[$__rate_interval]))",
+ "interval": "1m",
+ "legendFormat": "{{kubernetes_pod_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Error Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays the response time of all requests served by this node in a heat map. Each tile will represent number of requests which fell in to the pre-defined time bucket during the bucket time span.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "log": 10,
+ "type": "log"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 13
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "histogram_quantile(0.5, sum(rate({__name__ =~\"wso2_integration_.*_latency_seconds\", instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\", le=~\".+\"}[$__rate_interval])) by (le))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "1m",
+ "legendFormat": "50th Percentile",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "histogram_quantile(0.95, sum(rate({__name__ =~\"wso2_integration_.*_latency_seconds\", instance=~\"$instance\", wso2_cluster=~\"$wso2_cluster\", job=~\"$job\", le=~\".+\"}[$__rate_interval])) by (le))",
+ "interval": "1m",
+ "legendFormat": "95th Percentile",
+ "refId": "B"
+ }
+ ],
+ "title": "Response Time",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 39,
+ "tags": [
+ "wso2-enterprise-integrator-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(wso2_integration_server_up, job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(wso2_integration_server_up, job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(wso2_integration_server_up{job=~\"$job\"}, wso2_cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "wso2_cluster",
+ "options": [ ],
+ "query": {
+ "query": "label_values(wso2_integration_server_up{job=~\"$job\"}, wso2_cluster)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(wso2_integration_server_up{job=~\"$job\", wso2_cluster=~\"$wso2_cluster\"}, instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(wso2_integration_server_up{job=~\"$job\", wso2_cluster=~\"$wso2_cluster\"}, instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "WSO2 Integration Node Metrics",
+ "uid": "j509RUS7z",
+ "version": 2,
+ "weekStart": ""
+}
diff --git a/assets/wso2-enterprise-integrator/dashboards/Proxy_Service_Metrics.json b/assets/wso2-enterprise-integrator/dashboards/Proxy_Service_Metrics.json
new file mode 100644
index 0000000..253847b
--- /dev/null
+++ b/assets/wso2-enterprise-integrator/dashboards/Proxy_Service_Metrics.json
@@ -0,0 +1,968 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "This Dashboard provides an overview of proxy services deployed in Enterprise Integrator Cluster.",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 12889,
+ "graphTooltip": 0,
+ "id": 24,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 4,
+ "panels": [ ],
+ "repeat": "service",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "$service",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "dtdurations",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 0,
+ "y": 1
+ },
+ "id": 6,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "time() - max(wso2_integration_service_up{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"})",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Up Time",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays all time request count served by this proxy service. This will also include the error requests.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "color": "semi-dark-green",
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "semi-dark-green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 4,
+ "y": 1
+ },
+ "id": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Visit Node Dashboard",
+ "url": "https://stackoverflow.com/questions/43890629/prometheus-timestamps"
+ }
+ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "center",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(max_over_time(wso2_integration_proxy_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])-min_over_time(wso2_integration_proxy_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range]))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "All Request Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays approximate request count received by this proxy service within the selected time range.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "color": "semi-dark-green",
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "semi-dark-green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "none",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 8,
+ "y": 1
+ },
+ "id": 16,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "(sum(max_over_time(wso2_integration_proxy_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])-min_over_time(wso2_integration_proxy_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])))-(sum(max_over_time(wso2_integration_proxy_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])-min_over_time(wso2_integration_proxy_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "(sum(max_over_time(wso2_integration_proxy_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])-min_over_time(wso2_integration_proxy_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])))",
+ "hide": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "title": "Successful Request Count",
+ "transformations": [ ],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays all time error count occurred within this proxy service.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "color": "semi-dark-red",
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "semi-dark-red",
+ "value": 0
+ }
+ ]
+ },
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 12,
+ "y": 1
+ },
+ "id": 20,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(max_over_time(wso2_integration_proxy_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])-min_over_time(wso2_integration_proxy_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range]))",
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Error Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays number of error requests occurred during the selected time range.",
+ "fieldConfig": {
+ "defaults": {
+ "mappings": [
+ {
+ "options": {
+ "": {
+ "color": "green",
+ "text": "0%"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "max": 1,
+ "min": 0,
+ "noValue": "0%",
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "semi-dark-red",
+ "value": 0.74990000000000001
+ }
+ ]
+ },
+ "unit": "percentunit",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 16,
+ "y": 1
+ },
+ "id": 19,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(max_over_time(wso2_integration_proxy_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])-min_over_time(wso2_integration_proxy_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range]))/sum(max_over_time(wso2_integration_proxy_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range])-min_over_time(wso2_integration_proxy_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__range]))",
+ "interval": "30s",
+ "legendFormat": "Current",
+ "refId": "A"
+ }
+ ],
+ "title": "Error Percentage",
+ "transformations": [ ],
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays number of nodes this proxy service is deployed.",
+ "fieldConfig": {
+ "defaults": {
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 4,
+ "x": 20,
+ "y": 1
+ },
+ "id": 18,
+ "links": [ ],
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "last"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showPercentChange": false,
+ "text": { },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "count(wso2_integration_service_up{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"})",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Deployed Node Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays the request rate for this proxy service.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "TPS",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "reqps",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 6
+ },
+ "id": 9,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(wso2_integration_proxy_request_count_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__rate_interval]))",
+ "interval": "70s",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Request Rate",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays error rate of this proxy service.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "TPS",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short",
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 6
+ },
+ "id": 12,
+ "interval": "",
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": false
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(wso2_integration_proxy_request_count_error_total{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\"}[$__rate_interval]))",
+ "interval": "1m",
+ "legendFormat": "{{kubernetes_pod_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Error Rate",
+ "type": "timeseries"
+ },
+ {
+ "cards": { },
+ "color": {
+ "cardColor": "#b4ff00",
+ "colorScale": "sqrt",
+ "colorScheme": "interpolateYlOrRd",
+ "exponent": 0.5,
+ "mode": "spectrum"
+ },
+ "dataFormat": "tsbuckets",
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Displays the response time of all requests served by this proxy service in a heat map. Each tile will represent number of requests which fell in to the pre-defined time bucket during the bucket time span. If you seen any anomalies please use the below link to view tracing information related to $service",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "scaleDistribution": {
+ "type": "linear"
+ }
+ },
+ "unitScale": true
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 6
+ },
+ "heatmap": { },
+ "hideZeroBuckets": false,
+ "highlightCards": true,
+ "id": 13,
+ "interval": "",
+ "legend": {
+ "show": true
+ },
+ "links": [ ],
+ "options": {
+ "calculate": false,
+ "calculation": { },
+ "cellGap": 2,
+ "cellValues": { },
+ "color": {
+ "exponent": 0.5,
+ "fill": "#b4ff00",
+ "mode": "scheme",
+ "reverse": false,
+ "scale": "exponential",
+ "scheme": "OrRd",
+ "steps": 128
+ },
+ "exemplars": {
+ "color": "rgba(255,0,255,0.7)"
+ },
+ "filterValues": {
+ "le": 1.0000000000000001e-09
+ },
+ "legend": {
+ "show": true
+ },
+ "rowsFrame": {
+ "layout": "ge"
+ },
+ "showValue": "never",
+ "tooltip": {
+ "mode": "single",
+ "showColorScale": false,
+ "yHistogram": false
+ },
+ "yAxis": {
+ "axisPlacement": "left",
+ "reverse": false,
+ "unit": "s"
+ }
+ },
+ "pluginVersion": "10.3.1",
+ "reverseYBuckets": false,
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by (le)(increase(wso2_integration_proxy_latency_seconds{service_name=~\"$service\", instance=~\"$instance\", job=~\"$job\", le=~\".+\"}[$__rate_interval]))",
+ "format": "heatmap",
+ "hide": false,
+ "interval": "1m",
+ "legendFormat": "{{le}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Response Time",
+ "tooltip": {
+ "show": true,
+ "showHistogram": false
+ },
+ "type": "heatmap",
+ "xAxis": {
+ "show": true
+ },
+ "yAxis": {
+ "format": "s",
+ "logBase": 1,
+ "show": true
+ },
+ "yBucketBound": "upper"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 39,
+ "tags": [
+ "wso2-enterprise-integrator-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(wso2_integration_service_up{service_type=\"proxy\"}, job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(wso2_integration_service_up{service_type=\"proxy\"}, job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(wso2_integration_service_up{service_type=\"proxy\", job=~\"$job\"}, service_name)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Service",
+ "multi": true,
+ "name": "service",
+ "options": [ ],
+ "query": {
+ "query": "label_values(wso2_integration_service_up{service_type=\"proxy\", job=~\"$job\"}, service_name)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(wso2_integration_service_up{service_type=\"proxy\", service_name=~\"$service\", job=~\"$job\"}, instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(wso2_integration_service_up{service_type=\"proxy\", service_name=~\"$service\", job=~\"$job\"}, instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "WSO2 Proxy Service Metrics",
+ "uid": "68SKM8I7z",
+ "version": 2,
+ "weekStart": ""
+}
diff --git a/assets/wso2-enterprise-integrator/rules.yaml b/assets/wso2-enterprise-integrator/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/wso2-enterprise-integrator/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/wso2-streaming-integrator/alerts.yaml b/assets/wso2-streaming-integrator/alerts.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/wso2-streaming-integrator/alerts.yaml
@@ -0,0 +1 @@
+null
diff --git a/assets/wso2-streaming-integrator/dashboards/Siddhi_aggregation.json b/assets/wso2-streaming-integrator/dashboards/Siddhi_aggregation.json
new file mode 100644
index 0000000..2c2897f
--- /dev/null
+++ b/assets/wso2-streaming-integrator/dashboards/Siddhi_aggregation.json
@@ -0,0 +1,883 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 2,
+ "id": 82,
+ "iteration": 1642009455286,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Memory"
+ },
+ {
+ "id": "unit",
+ "value": "decbytes"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Siddhi Application"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "element"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Element"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Latency"
+ },
+ {
+ "id": "unit",
+ "value": "s"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #C"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Throughput"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 19,
+ "x": 0,
+ "y": 0
+ },
+ "id": 20,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "8.3.3",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(siddhi_aggregation_memory{job=~\"$job\", instance=~\"$instance\",app=~\"$application\",element=~\"$element\",operation=~\"$operation\",quantile=~\"$quantile\"}) by (instance,app,element,operation,quantile)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(siddhi_aggregation_latency{job=~\"$job\", instance=~\"$instance\",app=~\"$application\",element=~\"$element\",operation=~\"$operation\",quantile=~\"$quantile\"}) by (instance,app,element,operation,quantile)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ },
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(siddhi_aggregation_throughput_total{job=~\"$job\", instance=~\"$instance\",app=~\"$application\",element=~\"$element\"}) by (instance,app,element)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "C"
+ }
+ ],
+ "title": "Aggregation Statistics Summary",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": {
+ "Time": 0,
+ "Value #B": 6,
+ "Value #C": 7,
+ "app": 1,
+ "element": 2,
+ "instance": 4,
+ "operation": 3,
+ "quantile": 5
+ },
+ "renameByName": {
+ "instance": "Instance",
+ "operation": "Operation",
+ "quantile": "Quantile"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 19,
+ "y": 0
+ },
+ "id": 12,
+ "links": [ ],
+ "options": {
+ "maxItems": 10,
+ "query": "Siddhi Overall Statistics",
+ "showHeadings": false,
+ "showRecentlyViewed": false,
+ "showSearch": true,
+ "showStarred": false,
+ "tags": [ ]
+ },
+ "pluginVersion": "8.3.3",
+ "tags": [ ],
+ "targets": [
+ {
+ "expr": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Back to Overall Statistics",
+ "type": "dashlist"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 5,
+ "x": 19,
+ "y": 3
+ },
+ "id": 22,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(count(count by (element) (siddhi_aggregation_throughput_total{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"})))",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Aggregation Count",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 15,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "siddhi_aggregation_memory{job=~\"$job\", instance=~\"$instance\",app=~\"$application\",element=~\"$element\",operation=~\"$operation\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "Application=\"{{app}}\", element=\"{{element}}\", operation=\"{{operation}}\",instance=\"{{instance}}\" ,operation=\"{{operation}}\", quantile\"{{quantile}}\"",
+ "refId": "A"
+ }
+ ],
+ "title": "Memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 15,
+ "w": 24,
+ "x": 0,
+ "y": 22
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "siddhi_aggregation_latency{job=~\"$job\", instance=~\"$instance\",app=~\"$application\",element=\"$element\",operation=~\"$operation\",quantile=~\"$quantile\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "Application=\"{{app}}\", element=\"{{element}}\", operation=\"{{operation}}\",instance=\"{{instance}}\" ,operation=\"{{operation}}\", quantile\"{{quantile}}\"",
+ "refId": "A"
+ }
+ ],
+ "title": "Latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 15,
+ "w": 24,
+ "x": 0,
+ "y": 37
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "siddhi_aggregation_throughput_total{job=~\"$job\", instance=~\"$instance\",app=~\"$application\",element=\"$element\",operation=~\"$operation\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "Application=\"{{app}}\", element=\"{{element}}\", operation=\"{{operation}}\",instance=\"{{instance}}\" ,operation=\"{{operation}}\"",
+ "refId": "A"
+ }
+ ],
+ "title": "Throughput",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": false,
+ "schemaVersion": 32,
+ "style": "dark",
+ "tags": [
+ "prometheus",
+ "siddhi"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "Prometheus",
+ "value": "Prometheus"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_aggregation_latency,job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_aggregation_latency,job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_aggregation_latency,instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_aggregation_latency,instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_aggregation_latency{job=~\"$job\", instance=~\"$instance\"},app)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Application",
+ "multi": true,
+ "name": "application",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_aggregation_latency{job=~\"$job\", instance=~\"$instance\"},app)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_aggregation_latency{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"},element)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Element",
+ "multi": true,
+ "name": "element",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_aggregation_latency{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"},element)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_aggregation_latency{job=~\"$job\", instance=~\"$instance\",app=~\"$application\",element=~\"$element\"},operation)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Operation",
+ "multi": true,
+ "name": "operation",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_aggregation_latency{job=~\"$job\", instance=~\"$instance\",app=~\"$application\",element=~\"$element\"},operation)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_aggregation_latency{job=~\"$job\", instance=~\"$instance\"},quantile)",
+ "description": "",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Quantile",
+ "multi": true,
+ "name": "quantile",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_aggregation_latency{job=~\"$job\", instance=~\"$instance\"},quantile)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "WSO2 Siddhi Aggregation Statistics",
+ "uid": "r1UWknPZz",
+ "version": 14,
+ "weekStart": ""
+}
diff --git a/assets/wso2-streaming-integrator/dashboards/Siddhi_ondemandquery.json b/assets/wso2-streaming-integrator/dashboards/Siddhi_ondemandquery.json
new file mode 100644
index 0000000..7aa1885
--- /dev/null
+++ b/assets/wso2-streaming-integrator/dashboards/Siddhi_ondemandquery.json
@@ -0,0 +1,529 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 2,
+ "id": 85,
+ "iteration": 1642009456561,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto",
+ "filterable": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Latency"
+ },
+ {
+ "id": "unit",
+ "value": "s"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Siddhi Application"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "element"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Element"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 19,
+ "x": 0,
+ "y": 0
+ },
+ "id": 16,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "8.3.3",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(siddhi_ondemandquery_latency{job=~\"$job\", instance=~\"$instance\",app=~\"$application\",element=~\"$element\",quantile=~\"$quantile\"}) by (instance,app,element,quantile)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "On-Demand Query Statistics Summary",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": { },
+ "indexByName": { },
+ "renameByName": {
+ "element": "",
+ "instance": "Instance",
+ "quantile": "Quantile"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 7,
+ "w": 5,
+ "x": 19,
+ "y": 0
+ },
+ "id": 12,
+ "links": [ ],
+ "options": {
+ "maxItems": 10,
+ "query": "Siddhi Overall Statistics",
+ "showHeadings": false,
+ "showRecentlyViewed": false,
+ "showSearch": true,
+ "showStarred": false,
+ "tags": [ ]
+ },
+ "pluginVersion": "8.3.3",
+ "tags": [ ],
+ "targets": [
+ {
+ "expr": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Back to Overall Statistics",
+ "type": "dashlist"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 15,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "siddhi_ondemandquery_latency{job=~\"$job\", instance=~\"$instance\",app=~\"$application\",element=~\"$element\",quantile=~\"$quantile\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "Application=\"{{app}}\", element=\"{{element}}\", quantile=\"{{quantile}}\", instance=\"{{instance}}\" ",
+ "refId": "A"
+ }
+ ],
+ "title": "Latency",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": false,
+ "schemaVersion": 32,
+ "style": "dark",
+ "tags": [
+ "prometheus",
+ "siddhi"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "Prometheus",
+ "value": "Prometheus"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_ondemandquery_latency,job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_ondemandquery_latency,job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_ondemandquery_latency,instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_ondemandquery_latency,instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_ondemandquery_latency{job=~\"$job\", instance=~\"$instance\"},app)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Application",
+ "multi": true,
+ "name": "application",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_ondemandquery_latency{job=~\"$job\", instance=~\"$instance\"},app)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_ondemandquery_latency{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"},element)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Element",
+ "multi": true,
+ "name": "element",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_ondemandquery_latency{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"},element)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_ondemandquery_latency,quantile)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Quantile",
+ "multi": true,
+ "name": "quantile",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_ondemandquery_latency,quantile)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "WSO2 Siddhi On-Demand Query Statistics",
+ "uid": "o2RnknPWz",
+ "version": 6,
+ "weekStart": ""
+}
diff --git a/assets/wso2-streaming-integrator/dashboards/Siddhi_overall.json b/assets/wso2-streaming-integrator/dashboards/Siddhi_overall.json
new file mode 100644
index 0000000..7cda9eb
--- /dev/null
+++ b/assets/wso2-streaming-integrator/dashboards/Siddhi_overall.json
@@ -0,0 +1,4141 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 2,
+ "id": 10,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 445,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": " Server Statistics
\n\n\n\n",
+ "mode": "html"
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 19,
+ "x": 0,
+ "y": 1
+ },
+ "id": 18,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "up{job=~\"integrations/wso2-streaming-integrator\", instance=~\"$instance\"}",
+ "instant": false,
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Servers Up/Down",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 19,
+ "y": 1
+ },
+ "id": 441,
+ "links": [ ],
+ "options": {
+ "includeVars": false,
+ "keepTime": false,
+ "maxItems": 10,
+ "query": "Siddhi Server Statistics",
+ "showHeadings": false,
+ "showRecentlyViewed": false,
+ "showSearch": true,
+ "showStarred": false,
+ "tags": [ ]
+ },
+ "pluginVersion": "10.2.3",
+ "tags": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Detailed View",
+ "transparent": true,
+ "type": "dashlist"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 19,
+ "y": 4
+ },
+ "id": 364,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(count(count by (app,instance) (siddhi_stream_throughput_total{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"})))",
+ "instant": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Siddhi Apps",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "__name__"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Metric"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "System Load Average"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#FF7383",
+ "value": null
+ },
+ {
+ "color": "#FF7383",
+ "value": 0
+ },
+ {
+ "color": "#FF7383",
+ "value": 2
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "job"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Job"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Instance"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #C"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Process CPU Usage"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#3274D9",
+ "value": null
+ },
+ {
+ "color": "#3274D9",
+ "value": 0
+ },
+ {
+ "color": "#3274D9",
+ "value": 2
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #D"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Memory Used"
+ },
+ {
+ "id": "unit",
+ "value": "decbytes"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Total Events"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 468,
+ "interval": "1s",
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_source_throughput_total{job=~\"$job\", instance=~\"$instance\",type=\"source\",operation!=\"inMemory\"}) by (instance)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(jvm_os_system_load_average{job=~\"$job\", instance=~\"$instance\"}) by (instance)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(jvm_os_cpu_load_system{job=~\"$job\", instance=~\"$instance\"}) by (insance)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(jvm_memory_heap_usage{job=~\"$job\", instance=~\"$instance\"}) by (instance)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "D"
+ }
+ ],
+ "title": "Server Statistics Summary",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(siddhi_source_throughput_total{type=\"source\",operation!=\"inMemory\",job=~\"$job\", instance=~\"$instance\"})",
+ "instant": false,
+ "legendFormat": "overall throughput{instance=\"{{instance}}\" }",
+ "refId": "A"
+ }
+ ],
+ "title": "Overall Throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 8,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "jvm_os_system_load_average{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "system load average{instance=\"{{instance}}\" }",
+ "refId": "A"
+ }
+ ],
+ "title": "System Load Average",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 0,
+ "y": 18
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "jvm_os_cpu_load_process{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "cpu process load{instance=\"{{instance}}\" }",
+ "refId": "A"
+ }
+ ],
+ "title": "Process CPU Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 12,
+ "x": 12,
+ "y": 18
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": true,
+ "expr": "jvm_memory_heap_usage{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "memory heap usage{instance=\"{{instance}}\" }",
+ "refId": "A"
+ }
+ ],
+ "title": "Memory Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 0,
+ "y": 24
+ },
+ "id": 4,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(jvm_threads_count{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "instant": false,
+ "refId": "A"
+ }
+ ],
+ "title": "Thread Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 6,
+ "y": 24
+ },
+ "id": 362,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(jvm_threads_blocked_count{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "instant": false,
+ "refId": "A"
+ }
+ ],
+ "title": "Threads Blocked",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 12,
+ "y": 24
+ },
+ "id": 16,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(jvm_memory_heap_used{job=~\"$job\", instance=~\"$instance\"})",
+ "format": "time_series",
+ "instant": false,
+ "refId": "A"
+ }
+ ],
+ "title": "Memory Heap Used",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 18,
+ "y": 24
+ },
+ "id": 6,
+ "interval": "",
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(jvm_os_file_descriptor_open_count{job=~\"$job\", instance=~\"$instance\"})",
+ "instant": false,
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "File Descriptors open",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "id": 444,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": " Stream Statistics
\n\n\n\n",
+ "mode": "html"
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Throughput"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Siddhi Application"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "element"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Element"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 19,
+ "x": 0,
+ "y": 28
+ },
+ "id": 282,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_stream_throughput_total{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"}) by (app,element)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Stream Statistics Summary",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 19,
+ "y": 28
+ },
+ "id": 442,
+ "links": [ ],
+ "options": {
+ "includeVars": false,
+ "keepTime": false,
+ "maxItems": 10,
+ "query": "Siddhi Stream Statistics",
+ "showHeadings": false,
+ "showRecentlyViewed": false,
+ "showSearch": true,
+ "showStarred": false,
+ "tags": [ ]
+ },
+ "pluginVersion": "10.2.3",
+ "tags": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Detailed View",
+ "type": "dashlist"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 5,
+ "x": 19,
+ "y": 31
+ },
+ "id": 284,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(count(siddhi_stream_throughput_total{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"}))",
+ "instant": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Stream Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 35
+ },
+ "id": 446,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": " Query Statistics
\n\n\n\n",
+ "mode": "html"
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Memory"
+ },
+ {
+ "id": "unit",
+ "value": "decbytes"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Siddhi Application"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "element"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Element"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Latency"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 19,
+ "x": 0,
+ "y": 36
+ },
+ "id": 380,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_query_memory{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"}) by (app,element)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_query_latency{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"}) by (app,element)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "title": "Query Statistics Summary",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 19,
+ "y": 36
+ },
+ "id": 447,
+ "links": [ ],
+ "options": {
+ "includeVars": false,
+ "keepTime": false,
+ "maxItems": 10,
+ "query": "Siddhi Query Statistics",
+ "showHeadings": false,
+ "showRecentlyViewed": false,
+ "showSearch": true,
+ "showStarred": false,
+ "tags": [ ]
+ },
+ "pluginVersion": "10.2.3",
+ "tags": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Detailed View",
+ "type": "dashlist"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 5,
+ "x": 19,
+ "y": 39
+ },
+ "id": 379,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(count(siddhi_query_memory{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"}))",
+ "instant": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Query Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 43
+ },
+ "id": 448,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": " Source & Source Mapper Statistics
\n\n\n\n",
+ "mode": "html"
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Mapper Latency"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Siddhi Application"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "element"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Element"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Source Throughput"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "operation"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Source Type"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "operationType"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Mapper Type"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 20,
+ "x": 0,
+ "y": 44
+ },
+ "id": 466,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_sourcemapper_latency{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"}) by (app,element,operation,operationType)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_source_throughput_total{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"}) by (app,element,operation)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "title": "Source Mapper Statistics Summary",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 20,
+ "y": 44
+ },
+ "id": 449,
+ "links": [ ],
+ "options": {
+ "includeVars": false,
+ "keepTime": false,
+ "maxItems": 10,
+ "query": "Siddhi Source Statistics",
+ "showHeadings": false,
+ "showRecentlyViewed": false,
+ "showSearch": true,
+ "showStarred": false,
+ "tags": [ ]
+ },
+ "pluginVersion": "10.2.3",
+ "tags": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Detailed View",
+ "type": "dashlist"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 20,
+ "y": 47
+ },
+ "id": 368,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(count(siddhi_source_throughput_total{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"}))",
+ "instant": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Source Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 51
+ },
+ "id": 450,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": " Sink Statistics
\n\n\n\n",
+ "mode": "html"
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Mapper Latency"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Siddhi Application"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "element"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Element"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Source Throughput"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "operation"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Source Type"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "operationType"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Mapper Type"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 20,
+ "x": 0,
+ "y": 52
+ },
+ "id": 469,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_sinkmapper_latency{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"}) by (app,element,operation,operationType)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_sink_throughput_total{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"}) by (app,element)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "title": "Sink Mapper Statistics Summary",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 20,
+ "y": 52
+ },
+ "id": 453,
+ "links": [ ],
+ "options": {
+ "includeVars": false,
+ "keepTime": false,
+ "maxItems": 10,
+ "query": "Siddhi Sink Statistics",
+ "showHeadings": false,
+ "showRecentlyViewed": false,
+ "showSearch": true,
+ "showStarred": false,
+ "tags": [ ]
+ },
+ "pluginVersion": "10.2.3",
+ "tags": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Detailed View",
+ "type": "dashlist"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 20,
+ "y": 55
+ },
+ "id": 374,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(count(siddhi_sink_throughput_total{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"}))",
+ "instant": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Sink Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 59
+ },
+ "id": 456,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": " Table Statistics
\n\n\n\n",
+ "mode": "html"
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Latency"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Siddhi Application"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "element"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Element"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Throughput"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "operation"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Operation"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 19,
+ "x": 0,
+ "y": 60
+ },
+ "id": 386,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_table_latency{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"}) by (app,element,operation)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_table_throughput_total{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"}) by (app,element,operation)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "title": "Table Statistics Summary",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 19,
+ "y": 60
+ },
+ "id": 457,
+ "links": [ ],
+ "options": {
+ "includeVars": false,
+ "keepTime": false,
+ "maxItems": 10,
+ "query": "Siddhi Table Statistics",
+ "showHeadings": false,
+ "showRecentlyViewed": false,
+ "showSearch": true,
+ "showStarred": false,
+ "tags": [ ]
+ },
+ "pluginVersion": "10.2.3",
+ "tags": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Detailed View",
+ "type": "dashlist"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 5,
+ "x": 19,
+ "y": 63
+ },
+ "id": 385,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(count(count by (element) (siddhi_table_latency{job=~\"$job\", instance=~\"$instance\",app=~\"$application\",element!~\".*SECONDS|.*MINUTES|.*HOURS|.*DAYS|.*MONTHS|.*YEARS\"})))",
+ "instant": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Table Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 67
+ },
+ "id": 460,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": " Aggregation Statistics
\n\n\n\n",
+ "mode": "html"
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Memory"
+ },
+ {
+ "id": "unit",
+ "value": "decbytes"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Siddhi Application"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "element"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Element"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Latency"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #C"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Throughput"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 19,
+ "x": 0,
+ "y": 68
+ },
+ "id": 421,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_aggregation_memory{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"}) by (app,element)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_aggregation_latency{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"}) by (app,element)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_aggregation_throughput_total{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"}) by (app,element)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "C"
+ }
+ ],
+ "title": "Aggregation Statistics Summary",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 19,
+ "y": 68
+ },
+ "id": 461,
+ "links": [ ],
+ "options": {
+ "includeVars": false,
+ "keepTime": false,
+ "maxItems": 10,
+ "query": "Siddhi aggregation Statistics",
+ "showHeadings": false,
+ "showRecentlyViewed": false,
+ "showSearch": true,
+ "showStarred": false,
+ "tags": [ ]
+ },
+ "pluginVersion": "10.2.3",
+ "tags": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Detailed View",
+ "type": "dashlist"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 5,
+ "x": 19,
+ "y": 71
+ },
+ "id": 418,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(count(count by (element) (siddhi_aggregation_throughput_total{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"})))",
+ "instant": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Aggregation Count",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 75
+ },
+ "id": 465,
+ "options": {
+ "content": " On-Demand Query Statistics
\n\n\n\n",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ }
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Latency"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Siddhi Application"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "element"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Element"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 19,
+ "x": 0,
+ "y": 76
+ },
+ "id": 416,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "8.3.3",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_ondemandquery_latency{job=~\"$job\", instance=~\"$instance\",app=~\"$application\"}) by (app)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "On-Demand Query Statistics Summary",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 5,
+ "x": 19,
+ "y": 76
+ },
+ "id": 463,
+ "links": [ ],
+ "options": {
+ "maxItems": 10,
+ "query": "Siddhi On-Demand query Statistics",
+ "showHeadings": false,
+ "showRecentlyViewed": false,
+ "showSearch": true,
+ "showStarred": false,
+ "tags": [ ]
+ },
+ "pluginVersion": "8.3.3",
+ "tags": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Detailed View",
+ "type": "dashlist"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 39,
+ "tags": [
+ "wso2-streaming-integrator-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(siddhi_stream_throughput_total,job)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total,job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(siddhi_stream_throughput_total{job=~\"$job\"},instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total{job=~\"$job\", instance=~\"$instance\"},instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(siddhi_stream_throughput_total{job=~\"$job\", instance=~\"$instance\"},app)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Application",
+ "multi": true,
+ "name": "application",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total{job=~\"$job\", instance=~\"$instance\"},app)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(siddhi_stream_throughput_total{job=~\"$job\", instance=~\"$instance\"}, type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "type",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total{job=~\"$job\", instance=~\"$instance\"}, type)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(siddhi_stream_throughput_total{job=~\"$job\", instance=~\"$instance\"}, metrics)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Metrics",
+ "multi": true,
+ "name": "metrics",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total{job=~\"$job\", instance=~\"$instance\"}, metrics)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(siddhi_stream_throughput_total{job=~\"$job\", instance=~\"$instance\"}, element)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Element",
+ "multi": true,
+ "name": "element",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total{job=~\"$job\", instance=~\"$instance\"}, element)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(siddhi_stream_throughput_total{job=~\"$job\", instance=~\"$instance\"}, quantile)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Quantile",
+ "multi": true,
+ "name": "quantile",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total{job=~\"$job\", instance=~\"$instance\"}, quantile)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(siddhi_stream_throughput_total{job=~\"$job\", instance=~\"$instance\"}, operation)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Operation",
+ "multi": true,
+ "name": "operation",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total{job=~\"$job\", instance=~\"$instance\"}, operation)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "hidden": false,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "WSO2 Siddhi Overall Statistics",
+ "uid": "262-rPbWz",
+ "version": 2,
+ "weekStart": ""
+}
diff --git a/assets/wso2-streaming-integrator/dashboards/Siddhi_query.json b/assets/wso2-streaming-integrator/dashboards/Siddhi_query.json
new file mode 100644
index 0000000..7f728cf
--- /dev/null
+++ b/assets/wso2-streaming-integrator/dashboards/Siddhi_query.json
@@ -0,0 +1,725 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 88,
+ "iteration": 1642009443966,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Memory"
+ },
+ {
+ "id": "unit",
+ "value": "decbytes"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Siddhi Application"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "element"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Element"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Latency"
+ },
+ {
+ "id": "unit",
+ "value": "s"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 19,
+ "x": 0,
+ "y": 0
+ },
+ "id": 14,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "8.3.3",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(siddhi_query_memory{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\"}) by (instance,app,element)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(siddhi_query_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\",quantile=~\"$quantile\"}) by (instance,app,element,quantile)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "title": "Query Statistics Summary",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": {
+ "instance": "Instance",
+ "quantile": "Quantile"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 19,
+ "y": 0
+ },
+ "id": 12,
+ "links": [ ],
+ "options": {
+ "maxItems": 10,
+ "query": "Siddhi Overall Statistics",
+ "showHeadings": false,
+ "showRecentlyViewed": false,
+ "showSearch": true,
+ "showStarred": false,
+ "tags": [ ]
+ },
+ "pluginVersion": "8.3.3",
+ "tags": [ ],
+ "targets": [
+ {
+ "expr": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Back to Overall Statistics",
+ "type": "dashlist"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 5,
+ "x": 19,
+ "y": 3
+ },
+ "id": 16,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "expr": "sum(count(siddhi_query_memory{job=~\"$job\",instance=~\"$instance\",app=~\"$application\"}))",
+ "instant": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Query Count",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 15,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "siddhi_query_memory{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "Application=\"{{app}}\", type=\"{{type}}\", element=\"{{element}}\", instance=\"{{instance}}\" ",
+ "refId": "A"
+ }
+ ],
+ "title": "Memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 15,
+ "w": 24,
+ "x": 0,
+ "y": 22
+ },
+ "id": 17,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "siddhi_query_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "Application=\"{{app}}\", element=\"{{element}}\", instance=\"{{instance}}\" ",
+ "refId": "A"
+ }
+ ],
+ "title": "Latency",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": false,
+ "schemaVersion": 32,
+ "style": "dark",
+ "tags": [
+ "prometheus",
+ "siddhi"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "Prometheus",
+ "value": "Prometheus"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_query_latency,job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_query_latency,job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_query_latency{job=~\"$job\"},instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_query_latency{job=~\"$job\"},instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_query_latency{job=~\"$job\",instance=~\"$instance\"},app)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Application",
+ "multi": true,
+ "name": "application",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_query_latency{job=~\"$job\",instance=~\"$instance\"},app)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_query_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\"},element)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Element",
+ "multi": true,
+ "name": "element",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_query_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\"},element)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_query_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\"},quantile)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Quantile",
+ "multi": true,
+ "name": "quantile",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_query_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\"},quantile)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "WSO2 Siddhi Query Statistics",
+ "uid": "SSvfRnEZz",
+ "version": 7,
+ "weekStart": ""
+}
diff --git a/assets/wso2-streaming-integrator/dashboards/Siddhi_server.json b/assets/wso2-streaming-integrator/dashboards/Siddhi_server.json
new file mode 100644
index 0000000..c170e0e
--- /dev/null
+++ b/assets/wso2-streaming-integrator/dashboards/Siddhi_server.json
@@ -0,0 +1,2098 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "",
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 2,
+ "id": 87,
+ "iteration": 1642009438307,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 6,
+ "w": 19,
+ "x": 0,
+ "y": 0
+ },
+ "id": 4,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "expr": "up{job=~\"integrations/wso2-streaming-integrator\", instance=~\"$instance\"}",
+ "instant": false,
+ "legendFormat": "{{instance}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Servers Up/Down",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 19,
+ "y": 0
+ },
+ "id": 30,
+ "links": [ ],
+ "options": {
+ "maxItems": 10,
+ "query": "Siddhi Overall Statistics",
+ "showHeadings": false,
+ "showRecentlyViewed": false,
+ "showSearch": true,
+ "showStarred": false,
+ "tags": [ ]
+ },
+ "pluginVersion": "8.3.3",
+ "tags": [ ],
+ "targets": [
+ {
+ "expr": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Back to Overall Statistics",
+ "transparent": true,
+ "type": "dashlist"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 19,
+ "y": 3
+ },
+ "id": 6,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "expr": "sum(count(count by (app) (siddhi_stream_throughput_total{job=~\"$job\", instance=~\"$instance\"})))",
+ "instant": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Siddhi Apps",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "__name__"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Metric"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "System Load Average"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#FF7383",
+ "value": null
+ },
+ {
+ "color": "#FF7383",
+ "value": 0
+ },
+ {
+ "color": "#FF7383",
+ "value": 2
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Instance"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #C"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Process CPU Usage"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#3274D9",
+ "value": null
+ },
+ {
+ "color": "#3274D9",
+ "value": 0
+ },
+ {
+ "color": "#3274D9",
+ "value": 2
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #D"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Memory Used"
+ },
+ {
+ "id": "unit",
+ "value": "decbytes"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Total Events"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 5,
+ "w": 24,
+ "x": 0,
+ "y": 6
+ },
+ "id": 32,
+ "interval": "1s",
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "8.3.3",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(siddhi_source_throughput_total{job=~\"$job\",instance=~\"$instance\",type=\"source\",operation!=\"inMemory\"}) by (instance)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(jvm_os_system_load_average{job=~\"$job\", instance=~\"$instance\"}) by (instance)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ },
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(jvm_os_cpu_load_system{job=~\"$job\", instance=~\"$instance\"}) by (instance)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "C"
+ },
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(jvm_memory_heap_usage{job=~\"$job\", instance=~\"$instance\"}) by (instance)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "D"
+ }
+ ],
+ "title": "Server Statistics Summary",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_memory_heap_usage{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-orange",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "overall throughput{instance=\"$instance\" }"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "overall_throughput{instance=\"$instance\" }"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "sum(siddhi_source_throughput_total{type=\"source\",operation!=\"inMemory\"})"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 24,
+ "x": 0,
+ "y": 11
+ },
+ "id": 18,
+ "links": [ ],
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "sum by (instance)(siddhi_source_throughput_total{job=~\"$job\",instance=~\"$instance\",type=\"source\",operation!=\"inMemory\"})",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "Instance=\"{{instance}}\" ",
+ "refId": "A"
+ }
+ ],
+ "title": "Overall Throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_os_system_load_average{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "system load average{instance=\"$instance\" }"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 24,
+ "x": 0,
+ "y": 21
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "jvm_os_system_load_average{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "Instance=\"{{instance}}\" ",
+ "refId": "A"
+ }
+ ],
+ "title": "System Load Average",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_os_cpu_load_process{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_os_cpu_load_system{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "process cpu usage{instance=\"$instance\" }"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "system cpu usage{instance=\"$instance\" }"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 24,
+ "x": 0,
+ "y": 31
+ },
+ "id": 12,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "jvm_os_cpu_load_system{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "cpu system load{Instance=\"{{instance}}\"}",
+ "refId": "A"
+ },
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "jvm_os_cpu_load_process{job=~\"$job\", instance=~\"$instance\"}",
+ "interval": "",
+ "legendFormat": "cpu process load{Instance=\"{{instance}}\"}",
+ "refId": "B"
+ }
+ ],
+ "title": "CPU Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_memory_heap_max{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_memory_heap_usage{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "total memory{instance=\"$instance\" }"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "used memory{instance=\"$instance\" }"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 24,
+ "x": 0,
+ "y": 41
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "expr": "jvm_memory_heap_usage{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "used memory{instance=\"{{instance}}\" }",
+ "refId": "A"
+ },
+ {
+ "expr": "jvm_memory_heap_max{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "total memory{instance=\"{{instance}}\" }",
+ "refId": "B"
+ }
+ ],
+ "title": "Memory Usage",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "free physical memory - instance=\"$instance\""
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_os_cpu_load_system{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_os_physical_memory_free_size{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_os_physical_memory_total_size{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "physical memory free{instance=\"$instance\" }"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "physical memory total{instance=\"$instance\" }"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "total physical memory - instance=\"$instance\""
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 24,
+ "x": 0,
+ "y": 51
+ },
+ "id": 22,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "expr": "jvm_os_physical_memory_total_size{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "physical memory total{instance=\"{{instance}}\" }",
+ "refId": "A"
+ },
+ {
+ "expr": "jvm_os_physical_memory_free_size{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "physical memory free{instance=\"{{instance}}\" }",
+ "refId": "B"
+ }
+ ],
+ "title": "JVM Physical Memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "daemon threads count{instance=\"$instance\" }"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_os_cpu_load_system{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_threads_count{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_threads_daemon_count{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "threads count - instance=\"$instance\""
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "threads count{instance=\"$instance\" }"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "threads daemon - instance=\"$instance\""
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 24,
+ "x": 0,
+ "y": 61
+ },
+ "id": 24,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "expr": "jvm_threads_count{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "threads count{instance=\"{{instance}}\" }",
+ "refId": "A"
+ },
+ {
+ "expr": "jvm_threads_daemon_count{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "daemon threads count{instance=\"{{instance}}\" }",
+ "refId": "B"
+ }
+ ],
+ "title": "JVM Threads ",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_class_loading_loaded_current{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_class_loading_loaded_total{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_class_loading_unloaded_total{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_os_cpu_load_system{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "loaded current - instance=\"$instance\""
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "loaded current{instance=\"$instance\" }"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-yellow",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "loaded total - instance=\"$instance\""
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "loaded total{instance=\"$instance\" }"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "unloaded total - instance=\"$instance\""
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "unloaded total{instance=\"$instance\" }"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 24,
+ "x": 0,
+ "y": 71
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "expr": "jvm_class_loading_unloaded_total{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "unloaded total{instance=\"{{instance}}\" }",
+ "refId": "A"
+ },
+ {
+ "expr": "jvm_class_loading_loaded_current{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "loaded current{instance=\"{{instance}}\" }",
+ "refId": "B"
+ },
+ {
+ "expr": "jvm_class_loading_loaded_total{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "loaded total{instance=\"{{instance}}\" }",
+ "refId": "C"
+ }
+ ],
+ "title": "JVM Class Load",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "free swap size{instance=\"$instance\" }"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_os_cpu_load_system{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_os_swap_space_free_size{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "jvm_os_swap_space_total_size{instance=\"$instance\"}"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "total swap size{instance=\"$instance\" }"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "semi-dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 24,
+ "x": 0,
+ "y": 81
+ },
+ "id": 26,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "expr": "jvm_os_swap_space_total_size{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "total swap size{instance=\"{{instance}}\" }",
+ "refId": "A"
+ },
+ {
+ "expr": "jvm_os_swap_space_free_size{job=~\"$job\", instance=~\"$instance\"}",
+ "legendFormat": "free swap size{instance=\"{{instance}}\" }",
+ "refId": "B"
+ }
+ ],
+ "title": "JVM Swap Space",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "5s",
+ "schemaVersion": 32,
+ "style": "dark",
+ "tags": [
+ "prometheus ",
+ "siddhi"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "Prometheus",
+ "value": "Prometheus"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_stream_throughput_total,job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total,job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_stream_throughput_total{job=~\"$job\"},instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total{job=~\"$job\"},instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_stream_throughput_total{job=~\"$job\",instance=~\"$instance\"},app)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Application",
+ "multi": true,
+ "name": "application",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total{job=~\"$job\",instance=~\"$instance\"},app)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_stream_throughput_total{job=~\"$job\",instance=~\"$instance\",app=\"$application\"},element)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Element",
+ "multi": true,
+ "name": "element",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total{job=~\"$job\",instance=~\"$instance\",app=\"$application\"},element)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_stream_throughput_total{job=~\"$job\",instance=~\"$instance\",app=\"$application\"},type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "type",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total{job=~\"$job\",instance=~\"$instance\",app=\"$application\"},type)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "WSO2 Siddhi Server Statistics",
+ "uid": "tyWNr6YWz",
+ "version": 4,
+ "weekStart": ""
+}
diff --git a/assets/wso2-streaming-integrator/dashboards/Siddhi_sink.json b/assets/wso2-streaming-integrator/dashboards/Siddhi_sink.json
new file mode 100644
index 0000000..9eacece
--- /dev/null
+++ b/assets/wso2-streaming-integrator/dashboards/Siddhi_sink.json
@@ -0,0 +1,793 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 2,
+ "id": 84,
+ "iteration": 1642009451864,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Mapper Latency"
+ },
+ {
+ "id": "unit",
+ "value": "s"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Siddhi Application"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "element"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Element"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Sink Throughput"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "operation"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Operation"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "operationType"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Mapper Type"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 20,
+ "x": 0,
+ "y": 0
+ },
+ "id": 20,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "8.3.3",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(siddhi_sinkmapper_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\",operation=~\"$operation\",quantile=~\"$quantile\"}) by (instance,app,element,operation,operationType,quantile)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(siddhi_sink_throughput_total{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\"}) by (instance,app,element)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "title": "Sink Mapper Statistics Summary",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": {
+ "quantile": "Quantile"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 20,
+ "y": 0
+ },
+ "id": 12,
+ "links": [ ],
+ "options": {
+ "maxItems": 10,
+ "query": "Siddhi Overall Statistics",
+ "showHeadings": false,
+ "showRecentlyViewed": false,
+ "showSearch": true,
+ "showStarred": false,
+ "tags": [ ]
+ },
+ "pluginVersion": "8.3.3",
+ "tags": [ ],
+ "targets": [
+ {
+ "expr": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Back to Overall Statistics",
+ "type": "dashlist"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 20,
+ "y": 3
+ },
+ "id": 8,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "expr": "sum(count(siddhi_sink_throughput_total{job=~\"$job\",instance=~\"$instance\",app=~\"$application\"}))",
+ "instant": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Sink Count",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 15,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "siddhi_sink_throughput_total{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\",operation=~\"$operation\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "Application=\"{{app}}\", Element=\"{{element}}\", Operation=\"{{operation}}\", Instance=\"{{instance}}\" }",
+ "refId": "A"
+ }
+ ],
+ "title": "Sink Throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 15,
+ "w": 24,
+ "x": 0,
+ "y": 22
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "siddhi_sinkmapper_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\",operation=~\"$operation\",quantile=~\"$quantile\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "Application=\"{{app}}\", element=\"{{element}}\", source type=\"{{operation}}\", mapper type=\"{{operationType}}\", quantile=\"{{quantile}}\", instance=\"{{instance}}\" ",
+ "refId": "A"
+ }
+ ],
+ "title": "Sink Mapper Latency",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "",
+ "schemaVersion": 32,
+ "style": "dark",
+ "tags": [
+ "prometheus",
+ "siddhi"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "Prometheus",
+ "value": "Prometheus"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_sinkmapper_latency,job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_sinkmapper_latency,job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_sinkmapper_latency{job=~\"$job\"},instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_sinkmapper_latency{job=~\"$job\"},instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_sinkmapper_latency{job=~\"$job\",instance=~\"$instance\"},app)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Application",
+ "multi": true,
+ "name": "application",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_sinkmapper_latency{job=~\"$job\",instance=~\"$instance\"},app)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_sinkmapper_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\"},element)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Element",
+ "multi": true,
+ "name": "element",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_sinkmapper_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\"},element)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_sinkmapper_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\"},operation)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Operation",
+ "multi": true,
+ "name": "operation",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_sinkmapper_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\"},operation)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_sinkmapper_latency{job=~\"$job\",instance=~\"$instance\"},quantile)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Quantile",
+ "multi": true,
+ "name": "quantile",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_sinkmapper_latency{job=~\"$job\",instance=~\"$instance\"},quantile)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "WSO2 Siddhi Sink Statistics",
+ "uid": "kl5zknEZk",
+ "version": 15,
+ "weekStart": ""
+}
diff --git a/assets/wso2-streaming-integrator/dashboards/Siddhi_source.json b/assets/wso2-streaming-integrator/dashboards/Siddhi_source.json
new file mode 100644
index 0000000..1b7bcaa
--- /dev/null
+++ b/assets/wso2-streaming-integrator/dashboards/Siddhi_source.json
@@ -0,0 +1,808 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 0,
+ "id": 83,
+ "iteration": 1642009444020,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto",
+ "filterable": true
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Mapper Latency"
+ },
+ {
+ "id": "unit",
+ "value": "s"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Siddhi Application"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "element"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Element"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Source Throughput"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "operation"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Operation"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "operationType"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Mapper Type"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 20,
+ "x": 0,
+ "y": 0
+ },
+ "id": 18,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true,
+ "sortBy": [ ]
+ },
+ "pluginVersion": "8.3.3",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(siddhi_sourcemapper_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\",operation=~\"$operation\",quantile=~\"$quantile\"}) by (instance,app,element,operation,operationType,quantile)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(siddhi_source_throughput_total{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\",operation=~\"$operation\"}) by (instance,app,element,operation)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "title": "Source Mapper Statistics Summary",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": {
+ "Time": 0,
+ "Value #A": 7,
+ "Value #B": 8,
+ "app": 1,
+ "element": 2,
+ "instance": 5,
+ "operation": 3,
+ "operationType": 4,
+ "quantile": 6
+ },
+ "renameByName": {
+ "element": "Element",
+ "instance": "Instance",
+ "operation": "Operation",
+ "quantile": "Quantile"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 20,
+ "y": 0
+ },
+ "id": 12,
+ "links": [ ],
+ "options": {
+ "maxItems": 10,
+ "query": "Siddhi Overall Statistics",
+ "showHeadings": false,
+ "showRecentlyViewed": false,
+ "showSearch": true,
+ "showStarred": false,
+ "tags": [ ]
+ },
+ "pluginVersion": "8.3.3",
+ "tags": [ ],
+ "targets": [
+ {
+ "expr": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Back to Overall Statistics",
+ "type": "dashlist"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 4,
+ "x": 20,
+ "y": 3
+ },
+ "id": 8,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "expr": "sum(count(siddhi_source_throughput_total{job=~\"$job\",instance=~\"$instance\",app=~\"$application\"}))",
+ "instant": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Source Count",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 15,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "siddhi_source_throughput_total{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\",operation=~\"$operation\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "Application=\"{{app}}\", Element=\"{{element}}\", Operation=\"{{operation}}\", Instance=\"{{instance}}\" ",
+ "refId": "A"
+ }
+ ],
+ "title": "Source Throughput",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 15,
+ "w": 24,
+ "x": 0,
+ "y": 22
+ },
+ "id": 13,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "siddhi_sourcemapper_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\",operation=~\"$operation\",quantile=~\"$quantile\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "Application=\"{{app}}\", Element=\"{{element}}\", Operation=\"{{operation}}\", Instance=\"{{instance}}\" ,Quantile=\"{{quantile}}\"",
+ "refId": "A"
+ }
+ ],
+ "title": "Source Mapper Latency",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": false,
+ "schemaVersion": 32,
+ "style": "dark",
+ "tags": [
+ "prometheus",
+ "siddhi"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "Prometheus",
+ "value": "Prometheus"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_sourcemapper_latency,job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_sourcemapper_latency,job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_sourcemapper_latency{job=~\"$job\"},instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_sourcemapper_latency{job=~\"$job\"},instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_sourcemapper_latency{job=~\"$job\",instance=~\"$instance\"},app)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Application",
+ "multi": true,
+ "name": "application",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_sourcemapper_latency{job=~\"$job\",instance=~\"$instance\"},app)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_sourcemapper_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\"},element)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Element",
+ "multi": true,
+ "name": "element",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_sourcemapper_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\"},element)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_sourcemapper_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\"},operation)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Operation",
+ "multi": true,
+ "name": "operation",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_sourcemapper_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\"},operation)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_sourcemapper_latency{job=~\"$job\",instance=~\"$instance\"},quantile)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Quantile",
+ "multi": true,
+ "name": "quantile",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_sourcemapper_latency{job=~\"$job\",instance=~\"$instance\"},quantile)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "WSO2 Siddhi Source Statistics",
+ "uid": "BeLgznPZk",
+ "version": 5,
+ "weekStart": ""
+}
diff --git a/assets/wso2-streaming-integrator/dashboards/Siddhi_stream.json b/assets/wso2-streaming-integrator/dashboards/Siddhi_stream.json
new file mode 100644
index 0000000..3b415bf
--- /dev/null
+++ b/assets/wso2-streaming-integrator/dashboards/Siddhi_stream.json
@@ -0,0 +1,561 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 2,
+ "id": 89,
+ "iteration": 1642009443968,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Throughput"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Siddhi Application"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "element"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Element"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 19,
+ "x": 0,
+ "y": 0
+ },
+ "id": 6,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "8.3.3",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(siddhi_stream_throughput_total{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\"}) by (instance,app,element)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Stream Statistics Summary",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": {
+ "Value #A": "Throughput",
+ "element": "",
+ "instance": "Instance"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 19,
+ "y": 0
+ },
+ "id": 12,
+ "links": [ ],
+ "options": {
+ "maxItems": 10,
+ "query": "Siddhi Overall Statistics",
+ "showHeadings": false,
+ "showRecentlyViewed": false,
+ "showSearch": true,
+ "showStarred": false,
+ "tags": [ ]
+ },
+ "pluginVersion": "8.3.3",
+ "tags": [ ],
+ "targets": [
+ {
+ "expr": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Back to Overall Statistics",
+ "type": "dashlist"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 5,
+ "x": 19,
+ "y": 3
+ },
+ "id": 8,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "expr": "sum(count(siddhi_stream_throughput_total{job=~\"$job\",instance=~\"$instance\",app=~\"$application\"}))",
+ "instant": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Stream Count",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 15,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 10,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "siddhi_stream_throughput_total{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "Application=\"{{app}}\", element=\"{{element}}\", instance=\"{{instance}}\" ",
+ "refId": "A"
+ }
+ ],
+ "title": "Throughput",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": false,
+ "schemaVersion": 32,
+ "style": "dark",
+ "tags": [
+ "prometheus",
+ "siddhi"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "Prometheus",
+ "value": "Prometheus"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_stream_throughput_total,job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total,job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_stream_throughput_total{job=~\"$job\"},instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total{job=~\"$job\"},instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_stream_throughput_total{job=~\"$job\",instance=~\"$instance\"},app)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Application",
+ "multi": true,
+ "name": "application",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total{job=~\"$job\",instance=~\"$instance\"},app)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_stream_throughput_total{job=~\"$job\",instance=~\"$instance\",app=~\"$application\"},element)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Element",
+ "multi": true,
+ "name": "element",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total{job=~\"$job\",instance=~\"$instance\",app=~\"$application\"},element)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "WSO2 Siddhi Stream Statistics",
+ "uid": "JM6v6zPWz",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/wso2-streaming-integrator/dashboards/Siddhi_table.json b/assets/wso2-streaming-integrator/dashboards/Siddhi_table.json
new file mode 100644
index 0000000..ee79fa9
--- /dev/null
+++ b/assets/wso2-streaming-integrator/dashboards/Siddhi_table.json
@@ -0,0 +1,730 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 2,
+ "id": 91,
+ "iteration": 1642009453879,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Latency"
+ },
+ {
+ "id": "unit",
+ "value": "s"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Siddhi Application"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "element"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Element"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Throughput"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "operation"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Operation"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 19,
+ "x": 0,
+ "y": 0
+ },
+ "id": 18,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "8.3.3",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(siddhi_table_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\",operation=~\"$operation\"}) by (instance,app,element,operation)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(siddhi_table_throughput_total{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\",operation=~\"$operation\"}) by (instance,app,element,operation)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "title": "Table Statistics Summary",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 19,
+ "y": 0
+ },
+ "id": 12,
+ "links": [ ],
+ "options": {
+ "maxItems": 10,
+ "query": "Siddhi Overall Statistics",
+ "showHeadings": false,
+ "showRecentlyViewed": false,
+ "showSearch": true,
+ "showStarred": false,
+ "tags": [ ]
+ },
+ "pluginVersion": "8.3.3",
+ "tags": [ ],
+ "targets": [
+ {
+ "expr": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Back to Overall Statistics",
+ "type": "dashlist"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 5,
+ "x": 19,
+ "y": 3
+ },
+ "id": 20,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "expr": "sum(count(count by (element) (siddhi_table_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\"})))",
+ "instant": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Table Count",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 15,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 14,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "siddhi_table_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\",operation=~\"$operation\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "Application=\"{{app}}\", element=\"{{element}}\", operation=\"{{operation}}\", instance=\"{{instance}}\" ",
+ "refId": "A"
+ }
+ ],
+ "title": "Latency",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 15,
+ "w": 24,
+ "x": 0,
+ "y": 22
+ },
+ "id": 16,
+ "options": {
+ "legend": {
+ "calcs": [ ],
+ "displayMode": "list",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": true,
+ "expr": "siddhi_table_throughput_total{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\",operation=~\"$operation\"}",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "legendFormat": "Application=\"{{app}}\", element=\"{{element}}\", operation=\"{{operation}}\", instance=\"{{instance}}\" ",
+ "refId": "A"
+ }
+ ],
+ "title": "Throughput",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": false,
+ "schemaVersion": 32,
+ "style": "dark",
+ "tags": [
+ "prometheus",
+ "siddhi"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "Prometheus",
+ "value": "Prometheus"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_table_latency,job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_table_latency,job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_table_latency{job=~\"$job\"},instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_table_latency{job=~\"$job\"},instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_table_latency{job=~\"$job\",instance=~\"$instance\"},app)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Application",
+ "multi": true,
+ "name": "application",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_table_latency{job=~\"$job\",instance=~\"$instance\"},app)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_table_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\"},element)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Element",
+ "multi": true,
+ "name": "element",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_table_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\"},element)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_table_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\"},operation)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Operation",
+ "multi": true,
+ "name": "operation",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_table_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$application\",element=~\"$element\"},operation)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "type": "query"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-6h",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "WSO2 Siddhi Table Statistics",
+ "uid": "Lr0iznEZk",
+ "version": 4,
+ "weekStart": ""
+}
diff --git a/assets/wso2-streaming-integrator/dashboards/StreamingIntegrator_apps.json b/assets/wso2-streaming-integrator/dashboards/StreamingIntegrator_apps.json
new file mode 100644
index 0000000..a499715
--- /dev/null
+++ b/assets/wso2-streaming-integrator/dashboards/StreamingIntegrator_apps.json
@@ -0,0 +1,5215 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 2,
+ "id": 8,
+ "links": [ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 23,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Overview",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 1
+ },
+ "id": 14,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_total_reads{job=~\"$job\",instance=~\"$instance\",app=~\"$app\", type=~\"file|cdc|kafka|http\"}) ",
+ "format": "time_series",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Inputs",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisBorderShow": false,
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "insertNulls": false,
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Events per min"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "rgb(236, 124, 36)",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inputs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Output"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 14,
+ "w": 21,
+ "x": 3,
+ "y": 1
+ },
+ "id": 10,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by (app) (rate(siddhi_total_reads{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}[$__rate_interval]))",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "Inputs",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "rate(siddhi_total_reads{job=~\"$job\",instance=~\"$instance\",app=~\"$app\", type=\"file\"}[$__rate_interval])",
+ "hide": true,
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "Inputs, File",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum by (app) (rate(siddhi_total_writes{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}[$__rate_interval]))",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "Output",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "rate(siddhi_total_writes{job=~\"$job\",instance=~\"$instance\",app=~\"$app\", type=~\"rdbms\"}[$__rate_interval])",
+ "hide": true,
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "Output, RDBMS",
+ "refId": "D"
+ }
+ ],
+ "title": "(Inputs/Outputs)/Sec",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 3,
+ "x": 0,
+ "y": 4
+ },
+ "id": 40,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(rate(siddhi_total_reads{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}[$__rate_interval]))",
+ "format": "time_series",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "title": "Inputs/Sec",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 6
+ },
+ "id": 16,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_total_writes{job=~\"$job\",instance=~\"$instance\",app=~\"$app\", type=~\"file|rdbms|kafka|http\"})",
+ "format": "time_series",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "title": "Total Outputs",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 3,
+ "x": 0,
+ "y": 9
+ },
+ "id": 41,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(siddhi_total_writes{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}[$__rate_interval]))",
+ "format": "time_series",
+ "hide": false,
+ "instant": true,
+ "refId": "B"
+ }
+ ],
+ "title": "Outputs/Sec",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Total errors occurred while consuming & publishing events",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 3,
+ "x": 0,
+ "y": 11
+ },
+ "id": 42,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "(sum(siddhi_store_rdbms_total_error_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) or vector(0)) + (sum(siddhi_file_source_error_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) or vector(0)) + (sum(siddhi_cdc_source_listening_mode_total_error_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) or vector(0)) + (sum(siddhi_cdc_source_polling_mode_total_error_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) or vector(0)) + (sum(siddhi_file_sink_total_error_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) or vector(0)) + (sum(siddhi_kafka_source_error_count_per_stream{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) or vector(0)) + (sum(siddhi_kafka_sink_error_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) or vector(0))",
+ "format": "time_series",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "title": "Transport Level Errors",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "description": "Number of dropped events due to invalid mapping.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 3,
+ "x": 0,
+ "y": 13
+ },
+ "id": 43,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto",
+ "wideLayout": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "(sum(siddhi_total_reads{job=~\"$job\",instance=~\"$instance\",app=~\"$app\", type=~\"file|cdc|kafka\"}) or vector(0)) - ((sum(siddhi_file_source_total_valid_events_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) or vector(0)) + (sum(siddhi_cdc_source_listening_mode_total_valid_events_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) or vector(0)) +(sum(siddhi_cdc_source_polling_mode_total_valid_events_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) or vector(0)) + (sum(siddhi_kafka_source_per_topic_total_valid_events_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) or vector(0))) ",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "refId": "A"
+ }
+ ],
+ "title": "Mapping Errors",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 15
+ },
+ "id": 4,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Sources",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "id": 46,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "HTTP
\n",
+ "mode": "html"
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "stream_name"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Stream Name"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "url"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "URL"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "",
+ "url": "/d/eMw9ERJGk/wso2-streaming-integrator-http-statistics?orgId=1&var-app=$app&from=now-5m&to=now&refresh=5s"
+ }
+ ]
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Event Count"
+ },
+ {
+ "id": "unit",
+ "value": "locale"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #C"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Event/Sec"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #D"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Status"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "gradient",
+ "type": "color-background"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 1
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #E"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Average Size"
+ },
+ {
+ "id": "unit",
+ "value": "decbytes"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 18
+ },
+ "id": 52,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_http_source_event_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (url, stream_name)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(rate(siddhi_http_source_event_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}[$__rate_interval])) by (url, stream_name)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_http_source_error_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (url, stream_name)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "G"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_http_source_status{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (url, stream_name)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_http_source_request_size{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (url, stream_name) / sum(siddhi_http_source_event_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (url, stream_name)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "E"
+ }
+ ],
+ "title": "HTTP Statistics",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 26
+ },
+ "id": 29,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Show Kafka Statistics",
+ "url": "d/7wkYtntGz/wso2-streaming-integrator-kafka-statistics"
+ }
+ ],
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "Kafka
\n",
+ "mode": "html"
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Time"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "__name__"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Messages Received"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Connection Status"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "gradient",
+ "type": "color-background"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": -1
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 0
+ },
+ {
+ "value": 1
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #D"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Events Received/Sec"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Siddhi App Name"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "partition"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Partition ID"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #C"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Last message consumed at"
+ },
+ {
+ "id": "unit",
+ "value": "dateTimeFromNow"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #E"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Last message consumed at"
+ },
+ {
+ "id": "unit",
+ "value": "dateTimeFromNow"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #F"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Error Count"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "group_id"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Consumer Group"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #G"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Consumer Lag (seconds)"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "stream_id"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Stream Name"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "View Kafka Statistics for App: $app",
+ "url": "d/7wkYtntGz/wso2-streaming-integrator-kafka-statistics?orgId=1&var-app=$app"
+ }
+ ]
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 45,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(siddhi_kafka_source_read_count_per_stream{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (stream_id)",
+ "format": "table",
+ "instant": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(rate(siddhi_kafka_source_read_count_per_stream{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}[$__rate_interval])) by (stream_id)",
+ "format": "table",
+ "instant": true,
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(siddhi_kafka_source_per_stream_last_message_consumed_at{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (stream_id)",
+ "format": "table",
+ "instant": true,
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(siddhi_kafka_source_per_stream_with_partition_consumer_lag{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (stream_id) / 1000",
+ "format": "table",
+ "instant": true,
+ "refId": "G"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(siddhi_kafka_source_error_count_per_stream{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (stream_id)",
+ "format": "table",
+ "instant": true,
+ "refId": "F"
+ }
+ ],
+ "title": "Kafka Statistics",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 35
+ },
+ "id": 50,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "File
\n",
+ "mode": "html"
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Time"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "file_name"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "File Name"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "__name__"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "mode"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Reading Mode"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "stream_name"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Stream Name"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Received Events"
+ },
+ {
+ "id": "unit",
+ "value": "locale"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #C"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "File Size"
+ },
+ {
+ "id": "unit",
+ "value": "decbytes"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #D"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "File Status"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "gradient",
+ "type": "color-background"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#FADE2A",
+ "value": null
+ },
+ {
+ "color": "#37872D",
+ "value": 1
+ },
+ {
+ "color": "#F2495C",
+ "value": 4
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "file_path"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "File Path"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "File Statistics Dashboard/$__cell_1",
+ "url": "/d/XURMQjsZk/wso2-streaming-integrator-file-statistics?var-app=$app&orgId=1&refresh=5s&from=now-30m&to=now"
+ }
+ ]
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Elapsed Time"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #E"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Started Reading at"
+ },
+ {
+ "id": "unit",
+ "value": "dateTimeAsUS"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #F"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Total Errors"
+ },
+ {
+ "id": "unit",
+ "value": "none"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 37
+ },
+ "id": 25,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_file_source_event_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (file_name, mode, stream_name, file_path, app)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_file_source_file_size{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (file_path)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_file_source_file_status{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (file_path)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_file_source_elapse_time{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (file_path)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_file_source_started_time{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (file_path)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "E"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum((siddhi_file_source_event_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"} - ignoring(file_name, mode, stream_name)siddhi_file_source_total_valid_events_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) + siddhi_file_source_error_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (file_path)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "F"
+ }
+ ],
+ "title": "File Statistics",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 45
+ },
+ "id": 28,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "\nCDC
\n",
+ "mode": "html"
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Status"
+ },
+ {
+ "id": "unit",
+ "value": "locale"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "gradient",
+ "type": "color-background"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "#FF780A",
+ "value": 1
+ },
+ {
+ "color": "#C4162A",
+ "value": 2
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Total Changes"
+ },
+ {
+ "id": "unit",
+ "value": "none"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "A_db_type"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Database Type"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "db_url"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Database URL"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #C"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Idle Time"
+ },
+ {
+ "id": "unit",
+ "value": "s"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #D"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Changes/Sec"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #E"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Last Change"
+ },
+ {
+ "id": "unit",
+ "value": "s"
+ },
+ {
+ "id": "unit",
+ "value": "time: LT MMMM D, YYYY"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "D_tablename"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Table"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "CDC Statistics Dashboard/$__cell_5",
+ "url": "/d/_MLjsAqWz/wso2-streaming-integrator-cdc-statistics?var-app=$app&orgId=1&refresh=5s"
+ }
+ ]
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "C_database"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Database"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "B_host"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Host"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #F"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Total Errors"
+ },
+ {
+ "id": "unit",
+ "value": "none"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 47
+ },
+ "id": 31,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_cdc_source_listening_mode_event_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (db_url, A_db_type, C_database, D_tablename, B_host, app)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(rate(siddhi_cdc_source_listening_mode_events_per_table{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}[$__rate_interval])) by (db_url)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_cdc_source_listening_mode_db_status{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (db_url)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_cdc_source_listening_mode_idle_time{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (db_url)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_cdc_source_listening_mode_last_receive_time{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (db_url)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "E"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_cdc_source_listening_mode_events_per_table{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"} - ignoring(tablename)siddhi_cdc_source_listening_mode_total_valid_events_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"} + siddhi_cdc_source_listening_mode_total_error_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (db_url)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "F"
+ }
+ ],
+ "title": "CDC Streaming Statistics",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Status"
+ },
+ {
+ "id": "unit",
+ "value": "locale"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "gradient",
+ "type": "color-background"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "#FF780A",
+ "value": 1
+ },
+ {
+ "color": "#C4162A",
+ "value": 2
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Total Changes"
+ },
+ {
+ "id": "unit",
+ "value": "none"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "A_db_type"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Database Type"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "db_url"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Database URL"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #C"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Last Change"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "unit",
+ "value": "time: LT MMMM D, YYYY"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #D"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Changes in Last Polling"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #E"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Total Errors"
+ },
+ {
+ "id": "unit",
+ "value": "none"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #F"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Idle TIme"
+ },
+ {
+ "id": "unit",
+ "value": "s"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "C_database"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Database"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "D_tablename"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Table Name"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "CDC Statistics Dashboard/$__cell_5",
+ "url": "/d/_MLjsAqWz/wso2-streaming-integrator-cdc-statistics?var-app=$app&orgId=1&refresh=5s&from=now-30m&to=now"
+ }
+ ]
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "B_host"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "JDBC URL"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 55
+ },
+ "id": 39,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_cdc_source_polling_mode_event_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (db_url, A_db_type, C_database, D_tablename, B_host, app)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_cdc_source_polling_mode_events_in_last_polling_interval{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (db_url)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_cdc_source_polling_mode_db_status{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (db_url)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_cdc_source_polling_mode_idle_time{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (db_url)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "F"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_cdc_source_polling_mode_last_receive_time{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (db_url)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_cdc_source_polling_mode_event_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"} - ignoring(A_db_type, B_host, C_database, D_tablename)siddhi_cdc_source_polling_mode_total_valid_events_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"} + siddhi_cdc_source_polling_mode_total_error_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (db_url)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "E"
+ }
+ ],
+ "title": "CDC Scheduled Statistics",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 63
+ },
+ "id": 8,
+ "panels": [ ],
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Destinations",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 64
+ },
+ "id": 47,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "\nHTTP
\n",
+ "mode": "html"
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "stream_name"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Stream Name"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "url"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "URL"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "",
+ "url": "/d/eMw9ERJGk/wso2-streaming-integrator-http-statistics?orgId=1&var-app=$app&from=now-5m&to=now&refresh=5s"
+ }
+ ]
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Event Count"
+ },
+ {
+ "id": "unit",
+ "value": "locale"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #D"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Error Count"
+ },
+ {
+ "id": "unit",
+ "value": "locale"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 0
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Event/sec"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #C"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Status"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "gradient",
+ "type": "color-background"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 1
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #E"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Average Size"
+ },
+ {
+ "id": "unit",
+ "value": "decbytes"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #F"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Avg. Latency"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 66
+ },
+ "id": 55,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_http_sink_event_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (url, stream_name)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_http_sink_error_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (url, stream_name)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(rate(siddhi_http_sink_event_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}[$__rate_interval])) by (url, stream_name)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_http_sink_status{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (url, stream_name)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_http_sink_request_size{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (url, stream_name) / sum(siddhi_http_sink_event_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (url, stream_name)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "E"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_http_sink_average_latency{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (url, stream_name)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "F"
+ }
+ ],
+ "title": "HTTP Statistics",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 74
+ },
+ "id": 35,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "\nKafka
\n",
+ "mode": "html"
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Time"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Messages published"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Error count"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #C"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Error rate"
+ },
+ {
+ "id": "unit",
+ "value": "percentunit"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 0
+ },
+ {
+ "value": 1
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #D"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Avg message size"
+ },
+ {
+ "id": "unit",
+ "value": "bytes"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #E"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Avg time taken to Ack"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #F"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Last committed offset"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #G"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Events published/Sec"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #H"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Last message published at"
+ },
+ {
+ "id": "unit",
+ "value": "dateTimeFromNow"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "topic"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Topic"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "stream_id"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Stream Name"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "View Kafka Statistics for App: $app",
+ "url": "d/7wkYtntGz/wso2-streaming-integrator-kafka-statistics?orgId=1&var-app=$__cell"
+ }
+ ]
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 76
+ },
+ "id": 49,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_kafka_sink_current_offset{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (stream_id)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "F"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_kafka_sink_write_count_per_stream{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (stream_id)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(rate(siddhi_kafka_sink_write_count_per_stream{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}[$__rate_interval])) by (stream_id)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "G"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "avg(siddhi_kafka_sink_per_stream_last_message_size_in_bytes{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (stream_id)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "avg(siddhi_kafka_sink_per_stream_last_message_latency_in_millis{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (stream_id)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "E"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_kafka_sink_error_count_per_stream{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (stream_id) ",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "(sum(siddhi_kafka_sink_error_count_per_stream{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (stream_id) / sum(siddhi_kafka_sink_write_count_per_stream{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (stream_id)) ",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_kafka_sink_per_stream_last_message_published_at{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (stream_id)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "H"
+ }
+ ],
+ "title": "Kafka Statistics",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 83
+ },
+ "id": 53,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "\nFile
\n",
+ "mode": "html"
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Time"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "file_name"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "File Name"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "Siddhi-io-File Sink/$sink_file_name",
+ "url": "d/RMcQSPuZk/siddhi-io-file-sink?orgId=1&var-app=$app&var-sink=$__cell&refresh=5s"
+ }
+ ]
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "__name__"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "instance"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "mode"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "File Content Type"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "stream_name"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Stream Name"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Published Events"
+ },
+ {
+ "id": "unit",
+ "value": "locale"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #C"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "File Size"
+ },
+ {
+ "id": "unit",
+ "value": "decbytes"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #D"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "File Status"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "mode": "gradient",
+ "type": "color-background"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "#FA6400",
+ "value": 2
+ },
+ {
+ "color": "#F2495C",
+ "value": 4
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Written Lines"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "file_path"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "File"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "File Statistics Dashboard/$__cell_1",
+ "url": "/d/XURMQjsZk/wso2-streaming-integrator-file-statistics?var-app=$app&orgId=1&refresh=5s&from=now-30m&to=now"
+ }
+ ]
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #E"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Elapsed Time"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #F"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Total Errors"
+ },
+ {
+ "id": "unit",
+ "value": "none"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 85
+ },
+ "id": 33,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_file_sink_event_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (file_name, mode, stream_name, file_path,app)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_file_sink_file_size{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (file_path)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_file_sink_file_status{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (file_path)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_file_sink_lines_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (file_path)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_file_sink_elapsed_time{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (file_path)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "E"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "exemplar": false,
+ "expr": "sum(siddhi_file_sink_total_error_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"} + siddhi_file_sink_dropped_events{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"} ) by (file_path)",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "F"
+ }
+ ],
+ "title": "File Statistics",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 93
+ },
+ "id": 34,
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "\nRDBMS
\n",
+ "mode": "html"
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "refId": "A"
+ }
+ ],
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "inspect": false
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Status"
+ },
+ {
+ "id": "unit",
+ "value": "locale"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-background"
+ }
+ },
+ {
+ "id": "custom.align"
+ },
+ {
+ "id": "thresholds",
+ "value": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "#FF780A",
+ "value": 1
+ },
+ {
+ "color": "#C4162A",
+ "value": 2
+ }
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Total Changes"
+ },
+ {
+ "id": "unit",
+ "value": "none"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "A_db_type"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Database Type"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "db_url"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Database URL"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #E"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Last Change On"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "unit",
+ "value": "time: LT MMMM D, YYYY"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #C"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Idle Time"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "D_tablename"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Table"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "RDBMS Statistics Dashboard/$__cell_5",
+ "url": "/d/3tPjCPgMz/wso2-streaming-integrator-rdbms-statistics?var-app=$app&orgId=1&refresh=5s&from=now-30m&to=now"
+ }
+ ]
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "C_database"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Database"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "B_shortenUrl"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "JDBC URL"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #D"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Processing Time"
+ },
+ {
+ "id": "unit",
+ "value": "ms"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #F"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Total Errors"
+ },
+ {
+ "id": "unit",
+ "value": "none"
+ },
+ {
+ "id": "custom.cellOptions",
+ "value": {
+ "type": "color-text"
+ }
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 95
+ },
+ "id": 37,
+ "options": {
+ "cellHeight": "sm",
+ "footer": {
+ "countRows": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "10.2.3",
+ "targets": [
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(siddhi_store_rdbms_total_writes{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (db_url, A_db_type, C_database, D_tablename, B_shortenUrl, app)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(siddhi_store_rdbms_db_status{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (db_url)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(siddhi_store_rdbms_idle_time{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (db_url)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(siddhi_store_rdbms_processing_time{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (db_url)",
+ "format": "table",
+ "instant": true,
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(siddhi_store_rdbms_last_change_time{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (db_url)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "refId": "E"
+ },
+ {
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "expr": "sum(siddhi_store_rdbms_total_error_count{job=~\"$job\",instance=~\"$instance\",app=~\"$app\"}) by (db_url)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "refId": "F"
+ }
+ ],
+ "title": "RDBMS Statistics",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "filterFieldsByName",
+ "options": {
+ "include": {
+ "names": [
+ "A_db_type",
+ "B_shortenUrl",
+ "C_database",
+ "D_tablename",
+ "db_url",
+ "Value #A",
+ "Value #B",
+ "Value #C",
+ "Value #D",
+ "Value #E",
+ "Value #F"
+ ]
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "refresh": "30s",
+ "schemaVersion": 39,
+ "tags": [
+ "wso2-streaming-integrator-integration"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "(?!grafanacloud-usage|grafanacloud-ml-metrics).+",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(siddhi_stream_throughput_total,job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total,job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(siddhi_stream_throughput_total{job=~\"$job\"},instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total{job=~\"$job\"},instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": {
+ "uid": "$datasource"
+ },
+ "definition": "label_values(siddhi_stream_throughput_total{job=~\"$job\",instance=~\"$instance\"}, app)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "App Name",
+ "multi": true,
+ "name": "app",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total{job=~\"$job\",instance=~\"$instance\"}, app)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "WSO2 Streaming Integrator App Statistics",
+ "uid": "JrLwmmmGz",
+ "version": 2,
+ "weekStart": ""
+}
diff --git a/assets/wso2-streaming-integrator/dashboards/StreamingIntegrator_overall.json b/assets/wso2-streaming-integrator/dashboards/StreamingIntegrator_overall.json
new file mode 100644
index 0000000..c68fafc
--- /dev/null
+++ b/assets/wso2-streaming-integrator/dashboards/StreamingIntegrator_overall.json
@@ -0,0 +1,755 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [ ],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 2,
+ "id": 78,
+ "iteration": 1642009513258,
+ "links": [
+ {
+ "icon": "dashboard",
+ "tags": [ ],
+ "targetBlank": true,
+ "title": "WSO2 Streaming Integrator App Statistics",
+ "tooltip": "",
+ "type": "link",
+ "url": "/d/JrLwmmmGz/wso2-streaming-app-statistics?orgId=1&from=now-30m&to=now&refresh=5s"
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "expr": "sum(siddhi_total_reads{job=~\"$job\",instance=~\"$instance\",app=~\"$app\",type=~\"cdc|file|kafka|http\"}) ",
+ "format": "time_series",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Inputs",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "custom": {
+ "align": "auto",
+ "displayMode": "auto"
+ },
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "app"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "App name"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "links",
+ "value": [
+ {
+ "targetBlank": true,
+ "title": "App Statistics/$__cell",
+ "url": "/d/JrLwmmmGz/wso2-streaming-app-statistics?orgId=1&from=now-30m&to=now&var-app=$__cell&refresh=5s"
+ }
+ ]
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Time"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #A"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Inputs/Sec"
+ },
+ {
+ "id": "unit",
+ "value": "none"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #B"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Total Inputs"
+ },
+ {
+ "id": "unit",
+ "value": "none"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "type"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Sources"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #C"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Total Outputs"
+ },
+ {
+ "id": "unit",
+ "value": "none"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Value #D"
+ },
+ "properties": [
+ {
+ "id": "displayName",
+ "value": "Outputs/Sec"
+ },
+ {
+ "id": "unit",
+ "value": "short"
+ },
+ {
+ "id": "decimals",
+ "value": 2
+ },
+ {
+ "id": "custom.displayMode",
+ "value": "color-text"
+ },
+ {
+ "id": "custom.align"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 21,
+ "x": 3,
+ "y": 0
+ },
+ "id": 20,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(siddhi_total_reads{job=~\"$job\",instance=~\"$instance\",app=~\"$app\",type=~\"cdc|file|kafka|http\"}) by (app)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "B"
+ },
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum by(app) (rate(siddhi_total_reads{job=~\"$job\",instance=~\"$instance\",app=~\"$app\",type=~\"cdc|file|kafka|http\"}[$__rate_interval]))",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ },
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum(siddhi_total_writes{job=~\"$job\",instance=~\"$instance\",app=~\"$app\",type=~\"rdbms|file|kafka|http\"}) by (app)",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "C"
+ },
+ {
+ "datasource": "$datasource",
+ "exemplar": false,
+ "expr": "sum (rate(siddhi_total_writes{job=~\"$job\",instance=~\"$instance\",app=~\"$app\",type=~\"rdbms|file|kafka|http\"}[$__rate_interval]))",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "D"
+ }
+ ],
+ "title": "Overview Statistics",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": {
+ "reducers": [ ]
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true
+ },
+ "indexByName": { },
+ "renameByName": { }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "0"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [ ]
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 0,
+ "y": 4
+ },
+ "id": 12,
+ "links": [ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "expr": "sum(siddhi_total_writes{job=~\"$job\",instance=~\"$instance\",app=~\"$app\",type=~\"rdbms|file|kafka|http\"})",
+ "format": "time_series",
+ "instant": true,
+ "interval": "",
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Total Outputs",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 100,
+ "gradientMode": "opacity",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [ ],
+ "mappings": [ ],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Events per min"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "rgb(236, 124, 36)",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inputs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-green",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Outputs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 13,
+ "w": 24,
+ "x": 0,
+ "y": 8
+ },
+ "id": 11,
+ "interval": "1m",
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max"
+ ],
+ "displayMode": "table",
+ "placement": "bottom"
+ },
+ "tooltip": {
+ "mode": "single"
+ }
+ },
+ "pluginVersion": "8.3.3",
+ "targets": [
+ {
+ "expr": "sum(rate(siddhi_total_reads{job=~\"$job\",instance=~\"$instance\",app=~\"$app\",type=~\"cdc|file|kafka|http\"}[$__rate_interval]))",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Inputs",
+ "refId": "A"
+ },
+ {
+ "expr": "sum(rate(siddhi_total_writes{job=~\"$job\",instance=~\"$instance\",app=~\"$app\",type=~\"file|rdbms|kafka|http\"}[$__rate_interval]))",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Outputs",
+ "refId": "B"
+ }
+ ],
+ "title": "(Consume/Publish)/Sec",
+ "type": "timeseries"
+ }
+ ],
+ "refresh": "5s",
+ "schemaVersion": 32,
+ "style": "dark",
+ "tags": [
+ "wso2",
+ "prometheus",
+ "siddhi",
+ "streaming-integrator"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "Prometheus",
+ "value": "Prometheus"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Data source",
+ "multi": false,
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_stream_throughput_total,job)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Job",
+ "multi": true,
+ "name": "job",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total,job)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_stream_throughput_total{job=~\"$job\"},instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Instance",
+ "multi": true,
+ "name": "instance",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total{job=~\"$job\"},instance)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".+",
+ "current": {
+ "selected": false,
+ "text": "AggregateDataIncrementally",
+ "value": "AggregateDataIncrementally"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(siddhi_stream_throughput_total{job=~\"$job\",instance=~\"$instance\"}, app)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Appname",
+ "multi": false,
+ "name": "app",
+ "options": [ ],
+ "query": {
+ "query": "label_values(siddhi_stream_throughput_total{job=~\"$job\",instance=~\"$instance\"}, app)",
+ "refId": "StandardVariableQuery"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ }
+ ]
+ },
+ "time": {
+ "from": "now-30m",
+ "to": "now"
+ },
+ "timepicker": {
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ]
+ },
+ "timezone": "",
+ "title": "WSO2 Streaming Integrator Overall Statistics",
+ "uid": "92VL7ekMk",
+ "version": 3,
+ "weekStart": ""
+}
diff --git a/assets/wso2-streaming-integrator/rules.yaml b/assets/wso2-streaming-integrator/rules.yaml
new file mode 100644
index 0000000..19765bd
--- /dev/null
+++ b/assets/wso2-streaming-integrator/rules.yaml
@@ -0,0 +1 @@
+null
diff --git a/mixins.json b/mixins.json
index 2c283fe..b489cb5 100644
--- a/mixins.json
+++ b/mixins.json
@@ -129,6 +129,388 @@
"name": "grafana",
"source": "https://github.com/grafana/grafana",
"subdir": "grafana-mixin"
+ },
+ {
+ "name": "mysql",
+ "source": "https://github.com/prometheus/mysqld_exporter",
+ "subdir": "mysqld-mixin"
+ },
+ {
+ "name": "blackbox_exporter",
+ "source": "https://github.com/adinhodovic/blackbox-exporter-mixin/",
+ "subdir": ""
+ },
+ {
+ "name": "aerospike",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "aerospike-mixin"
+ },
+ {
+ "name": "apache-activemq",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-activemq-mixin"
+ },
+ {
+ "name": "apache-airflow",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-airflow-mixin"
+ },
+ {
+ "name": "apache-cassandra",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-cassandra-mixin"
+ },
+ {
+ "name": "apache-camel",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-camel-mixin"
+ },
+ {
+ "name": "apache-couchdb",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-couchdb-mixin"
+ },
+ {
+ "name": "apache-hadoop",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-hadoop-mixin"
+ },
+ {
+ "name": "apache-hbase",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-hbase-mixin"
+ },
+ {
+ "name": "apache-http",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-http-mixin"
+ },
+ {
+ "name": "apache-mesos",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-mesos-mixin"
+ },
+ {
+ "name": "apache-solr",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-solr-mixin"
+ },
+ {
+ "name": "apache-tomcat",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-tomcat-mixin"
+ },
+ {
+ "name": "argocd",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "argocd-mixin"
+ },
+ {
+ "name": "asterisk",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "asterisk-mixin"
+ },
+ {
+ "name": "awx",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "awx-mixin"
+ },
+ {
+ "name": "caddy",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "caddy-mixin"
+ },
+ {
+ "name": "cilium-enterprise",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "cilium-enterprise-mixin"
+ },
+ {
+ "name": "clickhouse",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "clickhouse-mixin"
+ },
+ {
+ "name": "cloudflare",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "cloudflare-mixin"
+ },
+ {
+ "name": "confluent-kafka",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "confluent-kafka-mixin"
+ },
+ {
+ "name": "couchbase",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "couchbase-mixin"
+ },
+ {
+ "name": "discourse",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "discourse-mixin"
+ },
+ {
+ "name": "docker",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "docker-mixin",
+ "description": "A set of Grafana dashboards for Docker (based on cadvisor)."
+ },
+ {
+ "name": "elasticsearch",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "dockelasticsearcher-mixin"
+ },
+ {
+ "name": "envoy",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "envoy-mixin"
+ },
+ {
+ "name": "f5-bigip",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "f5-bigip-mixin"
+ },
+ {
+ "name": "gitlab",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "gitlab-mixin"
+ },
+ {
+ "name": "go-runtime",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "go-runtime-mixin"
+ },
+ {
+ "name": "haproxy",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "haproxy-mixin"
+ },
+ {
+ "name": "harbor",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "harbor-mixin"
+ },
+ {
+ "name": "hass",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "hass-mixin"
+ },
+ {
+ "name": "ibm-mq",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "ibm-mq-mixin"
+ },
+ {
+ "name": "influxdb",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "influxdb-mixin"
+ },
+ {
+ "name": "istio",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "istio-2-mixin"
+ },
+ {
+ "name": "jenkins",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "jenkins-mixin"
+ },
+ {
+ "name": "jira",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "jira-mixin"
+ },
+ {
+ "name": "jvm",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "jvm-mixin"
+ },
+ {
+ "name": "kafka",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "kafka-mixin"
+ },
+ {
+ "name": "microsoft-iis",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "microsoft-iis-mixin"
+ },
+ {
+ "name": "mongodb",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "mongodb-mixin"
+ },
+ {
+ "name": "mongodb-atlas",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "mongodb-atlas-mixin"
+ },
+ {
+ "name": "MSSQL",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "mssql-mixin"
+ },
+ {
+ "name": "nginx",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "nginx-mixin"
+ },
+ {
+ "name": "nodejs",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "nodejs-mixin"
+ },
+ {
+ "name": "nomad",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "nomad-mixin"
+ },
+ {
+ "name": "nsq",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "nsq-mixin"
+ },
+ {
+ "name": "openldap",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "openldap-mixin"
+ },
+ {
+ "name": "opensearch",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "opensearch-mixin"
+ },
+ {
+ "name": "openstack",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "openstack-mixin"
+ },
+ {
+ "name": "oracledb",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "oracledb-mixin"
+ },
+ {
+ "name": "pgbouncer",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "pgbouncer-mixin"
+ },
+ {
+ "name": "presto",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "presto-mixin"
+ },
+ {
+ "name": "python-runtime",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "python-runtime-mixin"
+ },
+ {
+ "name": "rabbitmq",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "rabbitmq-mixin"
+ },
+ {
+ "name": "rclone",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "rclone-mixin"
+ },
+ {
+ "name": "redis",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "redis-mixin"
+ },
+ {
+ "name": "ruby",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "ruby-mixin"
+ },
+ {
+ "name": "sap-hana",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "sap-hana-mixin"
+ },
+ {
+ "name": "snmp",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "snmp-mixin"
+ },
+ {
+ "name": "spark",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "spark-mixin"
+ },
+ {
+ "name": "spring-boot",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "spring-boot-mixin"
+ },
+ {
+ "name": "squid",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "squid-mixin"
+ },
+ {
+ "name": "supabase",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "supabase-mixin"
+ },
+ {
+ "name": "tensorflow",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "tensorflow-mixin"
+ },
+ {
+ "name": "traefik",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "traefik-mixin"
+ },
+ {
+ "name": "ubnt-edgerouter",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "ubnt-edgerouter-mixin"
+ },
+ {
+ "name": "varnish",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "varnish-mixin"
+ },
+ {
+ "name": "vault",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "vault-mixin"
+ },
+ {
+ "name": "velero",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "velero-2-mixin"
+ },
+ {
+ "name": "wildfly",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "wildfly-mixin"
+ },
+ {
+ "name": "windows",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "windows-mixin",
+ "description": "Windows mixins based on flexible windows-observ-lib."
+ },
+ {
+ "name": "windows-active-directory",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "windows-active-directory-mixin"
+ },
+ {
+ "name": "wso2-enterprise-integrator",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "wso2-enterprise-integrator-mixin"
+ },
+ {
+ "name": "wso2-streaming-integrator",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "wso2-streaming-integrator-mixin"
}
]
-}
+}
\ No newline at end of file
diff --git a/site/content/MSSQL/_index.md b/site/content/MSSQL/_index.md
new file mode 100644
index 0000000..cc356b8
--- /dev/null
+++ b/site/content/MSSQL/_index.md
@@ -0,0 +1,101 @@
+---
+title: MSSQL
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/mssql-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/MSSQL/alerts.yaml).
+{{< /panel >}}
+
+### MSSQLAlerts
+
+##### MSSQLHighNumberOfDeadlocks
+
+{{< code lang="yaml" >}}
+alert: MSSQLHighNumberOfDeadlocks
+annotations:
+ description: '{{ printf "%.2f" $value }} deadlocks have occurred over the last 5
+ minutes on {{$labels.instance}}, which is above threshold of 10 deadlocks.'
+ summary: There are deadlocks ocurring in the database.
+expr: |
+ increase(mssql_deadlocks_total{}[5m]) > 10
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### MSSQLModerateReadStallTime
+
+{{< code lang="yaml" >}}
+alert: MSSQLModerateReadStallTime
+annotations:
+ description: '{{ printf "%.2f" $value }}ms of IO read stall has occurred on {{$labels.instance}},
+ which is above threshold of 200ms.'
+ summary: There is a moderate amount of IO stall for database reads.
+expr: |
+ 1000 * increase(mssql_io_stall_seconds_total{operation="read"}[5m]) > 200
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### MSSQLHighReadStallTime
+
+{{< code lang="yaml" >}}
+alert: MSSQLHighReadStallTime
+annotations:
+ description: '{{ printf "%.2f" $value }}ms of IO read stall has occurred on {{$labels.instance}},
+ which is above threshold of 400ms.'
+ summary: There is a high amount of IO stall for database reads.
+expr: |
+ 1000 * increase(mssql_io_stall_seconds_total{operation="read"}[5m]) > 400
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### MSSQLModerateWriteStallTime
+
+{{< code lang="yaml" >}}
+alert: MSSQLModerateWriteStallTime
+annotations:
+ description: '{{ printf "%.2f" $value }}ms of IO write stall has occurred on {{$labels.instance}},
+ which is above threshold of 200ms.'
+ summary: There is a moderate amount of IO stall for database writes.
+expr: |
+ 1000 * increase(mssql_io_stall_seconds_total{operation="write"}[5m]) > 200
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### MSSQLHighWriteStallTime
+
+{{< code lang="yaml" >}}
+alert: MSSQLHighWriteStallTime
+annotations:
+ description: '{{ printf "%.2f" $value }}ms of IO write stall has occurred on {{$labels.instance}},
+ which is above threshold of 400ms.'
+ summary: There is a high amount of IO stall for database writes.
+expr: |
+ 1000 * increase(mssql_io_stall_seconds_total{operation="write"}[5m]) > 400
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [mssql-overview](https://github.com/monitoring-mixins/website/blob/master/assets/MSSQL/dashboards/mssql-overview.json)
+- [mssql-pages](https://github.com/monitoring-mixins/website/blob/master/assets/MSSQL/dashboards/mssql-pages.json)
diff --git a/site/content/aerospike/_index.md b/site/content/aerospike/_index.md
new file mode 100644
index 0000000..8a6c7a2
--- /dev/null
+++ b/site/content/aerospike/_index.md
@@ -0,0 +1,155 @@
+---
+title: aerospike
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/aerospike-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/aerospike/alerts.yaml).
+{{< /panel >}}
+
+### aerospike
+
+##### AerospikeNodeHighMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: AerospikeNodeHighMemoryUsage
+annotations:
+ description: '{{ printf "%.0f" $value }} percent of system memory used on node {{$labels.instance}}
+ on cluster {{$labels.aerospike_cluster}}, which is above the threshold of 80.'
+ summary: There is a limited amount of memory available for a node.
+expr: |
+ 100 - sum without (service) (aerospike_node_stats_system_free_mem_pct) >= 80
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### AerospikeNamespaceHighDiskUsage
+
+{{< code lang="yaml" >}}
+alert: AerospikeNamespaceHighDiskUsage
+annotations:
+ description: '{{ printf "%.0f" $value }} percent of disk space available for namespace
+ {{$labels.ns}} on node {{$labels.instance}}, on cluster {{$labels.aerospike_cluster}},
+ which is above the threshold of 80.'
+ summary: There is a limited amount of disk space available for a node.
+expr: |
+ 100 - sum without (service) (aerospike_namespace_device_free_pct) >= 80
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### AerospikeUnavailablePartitions
+
+{{< code lang="yaml" >}}
+alert: AerospikeUnavailablePartitions
+annotations:
+ description: '{{ printf "%.0f" $value }} unavailable partition(s) in namespace {{$labels.ns}},
+ on node {{$labels.instance}}, on cluster {{$labels.aerospike_cluster}}, which
+ is above the threshold of 0.'
+ summary: There are unavailable partitions in the Aerospike cluster.
+expr: |
+ sum without(service) (aerospike_namespace_unavailable_partitions) > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### AerospikeDeadPartitions
+
+{{< code lang="yaml" >}}
+alert: AerospikeDeadPartitions
+annotations:
+ description: '{{ printf "%.0f" $value }} dead partition(s) in namespace {{$labels.ns}},
+ on node {{$labels.instance}}, on cluster {{$labels.aerospike_cluster}}, which
+ is above the threshold of 0.'
+ summary: There are dead partitions in the Aerospike cluster.
+expr: |
+ sum without(service) (aerospike_namespace_dead_partitions) > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### AerospikeNamespaceRejectingWrites
+
+{{< code lang="yaml" >}}
+alert: AerospikeNamespaceRejectingWrites
+annotations:
+ description: Namespace {{$labels.ns}} on node {{$labels.instance}} on cluster {{$labels.aerospike_cluster}}
+ is currently rejecting all client-originated writes.
+ summary: A namespace is currently rejecting all writes. Check for unavailable/dead
+ partitions, clock skew, or nodes running out of memory/disk.
+expr: |
+ sum without(service) (aerospike_namespace_stop_writes + aerospike_namespace_clock_skew_stop_writes) > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### AerospikeHighClientReadErrorRate
+
+{{< code lang="yaml" >}}
+alert: AerospikeHighClientReadErrorRate
+annotations:
+ description: '{{ printf "%.0f" $value }} percent of client read transactions are
+ resulting in errors for namespace {{$labels.ns}}, on node {{$labels.instance}},
+ on cluster {{$labels.aerospike_cluster}}, which is above the threshold of 25.'
+ summary: There is a high rate of errors for client read transactions.
+expr: |
+ sum without(service) (rate(aerospike_namespace_client_read_error[5m])) / (clamp_min(sum without(service) (rate(aerospike_namespace_client_read_error[5m])) + sum without(service) (rate(aerospike_namespace_client_read_success[5m])), 1)) > 25
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### AerospikeHighClientWriteErrorRate
+
+{{< code lang="yaml" >}}
+alert: AerospikeHighClientWriteErrorRate
+annotations:
+ description: '{{ printf "%.0f" $value }} percent of client write transactions are
+ resulting in errors for namespace {{$labels.ns}}, on node {{$labels.instance}},
+ on cluster {{$labels.aerospike_cluster}}, which is above the threshold of 25.'
+ summary: There is a high rate of errors for client write transactions.
+expr: |
+ sum without(service) (rate(aerospike_namespace_client_write_error[5m])) / (clamp_min(sum without(service) (rate(aerospike_namespace_client_write_error[5m])) + sum without(service) (rate(aerospike_namespace_client_write_success[5m])), 1)) > 25
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### AerospikeHighClientUDFErrorRate
+
+{{< code lang="yaml" >}}
+alert: AerospikeHighClientUDFErrorRate
+annotations:
+ description: '{{ printf "%.0f" $value }} percent of client UDF transactions are
+ resulting in errors for namespace {{$labels.ns}}, on node {{$labels.instance}},
+ on cluster {{$labels.aerospike_cluster}}, which is above the threshold of 25.'
+ summary: There is a high rate of errors for client UDF transactions.
+expr: |
+ sum without(service) (rate(aerospike_namespace_client_udf_error[5m])) / (clamp_min(sum without(service) (rate(aerospike_namespace_client_udf_error[5m])) + sum without(service) (rate(aerospike_namespace_client_udf_complete[5m])), 1)) > 25
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [aerospike-instance-overview](https://github.com/monitoring-mixins/website/blob/master/assets/aerospike/dashboards/aerospike-instance-overview.json)
+- [aerospike-logs](https://github.com/monitoring-mixins/website/blob/master/assets/aerospike/dashboards/aerospike-logs.json)
+- [aerospike-namespace-overview](https://github.com/monitoring-mixins/website/blob/master/assets/aerospike/dashboards/aerospike-namespace-overview.json)
+- [aerospike-overview](https://github.com/monitoring-mixins/website/blob/master/assets/aerospike/dashboards/aerospike-overview.json)
diff --git a/site/content/alertmanager/_index.md b/site/content/alertmanager/_index.md
index cfaebf9..3125de7 100644
--- a/site/content/alertmanager/_index.md
+++ b/site/content/alertmanager/_index.md
@@ -65,7 +65,7 @@ expr: |
(
rate(alertmanager_notifications_failed_total{job="alertmanager"}[5m])
/
- rate(alertmanager_notifications_total{job="alertmanager"}[5m])
+ ignoring (reason) group_left rate(alertmanager_notifications_total{job="alertmanager"}[5m])
)
> 0.01
for: 5m
@@ -87,7 +87,7 @@ expr: |
min by (job, integration) (
rate(alertmanager_notifications_failed_total{job="alertmanager", integration=~`.*`}[5m])
/
- rate(alertmanager_notifications_total{job="alertmanager", integration=~`.*`}[5m])
+ ignoring (reason) group_left rate(alertmanager_notifications_total{job="alertmanager", integration=~`.*`}[5m])
)
> 0.01
for: 5m
@@ -109,7 +109,7 @@ expr: |
min by (job, integration) (
rate(alertmanager_notifications_failed_total{job="alertmanager", integration!~`.*`}[5m])
/
- rate(alertmanager_notifications_total{job="alertmanager", integration!~`.*`}[5m])
+ ignoring (reason) group_left rate(alertmanager_notifications_total{job="alertmanager", integration!~`.*`}[5m])
)
> 0.01
for: 5m
diff --git a/site/content/apache-activemq/_index.md b/site/content/apache-activemq/_index.md
new file mode 100644
index 0000000..8b4a688
--- /dev/null
+++ b/site/content/apache-activemq/_index.md
@@ -0,0 +1,93 @@
+---
+title: apache-activemq
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/apache-activemq-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/apache-activemq/alerts.yaml).
+{{< /panel >}}
+
+### apache-activemq-alerts
+
+##### ApacheActiveMQHighTopicMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: ApacheActiveMQHighTopicMemoryUsage
+annotations:
+ description: '{{ printf "%.0f" $value }} percent of memory used by topics on {{$labels.instance}}
+ in cluster {{$labels.activemq_cluster}}, which is above the threshold of 70 percent.'
+ summary: Topic destination memory usage is high, which may result in a reduction
+ of the rate at which producers send messages.
+expr: |
+ sum without (destination) (activemq_topic_memory_percent_usage{destination!~"ActiveMQ.Advisory.*"}) > 70
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### ApacheActiveMQHighQueueMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: ApacheActiveMQHighQueueMemoryUsage
+annotations:
+ description: '{{ printf "%.0f" $value }} percent of memory used by queues on {{$labels.instance}}
+ in cluster {{$labels.activemq_cluster}}, which is above the threshold of 70 percent.'
+ summary: Queue destination memory usage is high, which may result in a reduction
+ of the rate at which producers send messages.
+expr: |
+ sum without (destination) (activemq_queue_memory_percent_usage) > 70
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### ApacheActiveMQHighStoreMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: ApacheActiveMQHighStoreMemoryUsage
+annotations:
+ description: '{{ printf "%.0f" $value }} percent of store memory used on {{$labels.instance}}
+ in cluster {{$labels.activemq_cluster}}, which is above the threshold of 70 percent.'
+ summary: Store memory usage is high, which may result in producers unable to send
+ messages.
+expr: |
+ activemq_store_usage_ratio > 70
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### ApacheActiveMQHighTemporaryMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: ApacheActiveMQHighTemporaryMemoryUsage
+annotations:
+ description: '{{ printf "%.0f" $value }} percent of temporary memory used on {{$labels.instance}}
+ in cluster {{$labels.activemq_cluster}}, which is above the threshold of 70 percent.'
+ summary: Temporary memory usage is high, which may result in saturation of messaging
+ throughput.
+expr: |
+ activemq_temp_usage_ratio > 70
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [apache-activemq-cluster-overview](https://github.com/monitoring-mixins/website/blob/master/assets/apache-activemq/dashboards/apache-activemq-cluster-overview.json)
+- [apache-activemq-instance-overview](https://github.com/monitoring-mixins/website/blob/master/assets/apache-activemq/dashboards/apache-activemq-instance-overview.json)
+- [apache-activemq-logs](https://github.com/monitoring-mixins/website/blob/master/assets/apache-activemq/dashboards/apache-activemq-logs.json)
+- [apache-activemq-queue-overview](https://github.com/monitoring-mixins/website/blob/master/assets/apache-activemq/dashboards/apache-activemq-queue-overview.json)
+- [apache-activemq-topic-overview](https://github.com/monitoring-mixins/website/blob/master/assets/apache-activemq/dashboards/apache-activemq-topic-overview.json)
diff --git a/site/content/apache-airflow/_index.md b/site/content/apache-airflow/_index.md
new file mode 100644
index 0000000..f0d527c
--- /dev/null
+++ b/site/content/apache-airflow/_index.md
@@ -0,0 +1,87 @@
+---
+title: apache-airflow
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/apache-airflow-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/apache-airflow/alerts.yaml).
+{{< /panel >}}
+
+### apache-airflow
+
+##### ApacheAirflowStarvingPoolTasks
+
+{{< code lang="yaml" >}}
+alert: ApacheAirflowStarvingPoolTasks
+annotations:
+ description: |
+ The number of starved tasks is {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} - {{ $labels.pool_name }} which is above the threshold of 0.
+ summary: There are starved tasks detected in the Apache Airflow pool.
+expr: |
+ airflow_pool_starving_tasks > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### ApacheAirflowDAGScheduleDelayWarningLevel
+
+{{< code lang="yaml" >}}
+alert: ApacheAirflowDAGScheduleDelayWarningLevel
+annotations:
+ description: |
+ The average delay in DAG schedule to run time is {{ printf "%.0f" $value }} over the last 1m on {{ $labels.instance }} - {{ $labels.dag_id }} which is above the threshold of 10.
+ summary: The delay in DAG schedule time to DAG run time has reached the warning
+ threshold.
+expr: |
+ increase(airflow_dagrun_schedule_delay_sum[5m]) / clamp_min(increase(airflow_dagrun_schedule_delay_count[5m]),1) > 10
+for: 1m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### ApacheAirflowDAGScheduleDelayCriticalLevel
+
+{{< code lang="yaml" >}}
+alert: ApacheAirflowDAGScheduleDelayCriticalLevel
+annotations:
+ description: |
+ The average delay in DAG schedule to run time is {{ printf "%.0f" $value }} over the last 1m for {{ $labels.instance }} - {{ $labels.dag_id }} which is above the threshold of 60.
+ summary: The delay in DAG schedule time to DAG run time has reached the critical
+ threshold.
+expr: |
+ increase(airflow_dagrun_schedule_delay_sum[5m]) / clamp_min(increase(airflow_dagrun_schedule_delay_count[5m]),1) > 60
+for: 1m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### ApacheAirflowDAGFailures
+
+{{< code lang="yaml" >}}
+alert: ApacheAirflowDAGFailures
+annotations:
+ description: |
+ The number of DAG failures seen is {{ printf "%.0f" $value }} over the last 1m for {{ $labels.instance }} - {{ $labels.dag_id }} which is above the threshold of 0.
+ summary: There have been DAG failures detected.
+expr: |
+ increase(airflow_dagrun_duration_failed_count[5m]) > 0
+for: 1m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [apache-airflow-overview](https://github.com/monitoring-mixins/website/blob/master/assets/apache-airflow/dashboards/apache-airflow-overview.json)
diff --git a/site/content/apache-camel/_index.md b/site/content/apache-camel/_index.md
new file mode 100644
index 0000000..98f7df3
--- /dev/null
+++ b/site/content/apache-camel/_index.md
@@ -0,0 +1,17 @@
+---
+title: apache-camel
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/apache-camel-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [apache-camel-micrometer](https://github.com/monitoring-mixins/website/blob/master/assets/apache-camel/dashboards/apache-camel-micrometer.json)
diff --git a/site/content/apache-cassandra/_index.md b/site/content/apache-cassandra/_index.md
new file mode 100644
index 0000000..97f7cfd
--- /dev/null
+++ b/site/content/apache-cassandra/_index.md
@@ -0,0 +1,151 @@
+---
+title: apache-cassandra
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/apache-cassandra-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/apache-cassandra/alerts.yaml).
+{{< /panel >}}
+
+### ApacheCassandraAlerts
+
+##### HighReadLatency
+
+{{< code lang="yaml" >}}
+alert: HighReadLatency
+annotations:
+ description: 'An average of {{ printf "%.0f" $value }}ms of read latency has occurred
+ over the last 5 minutes on {{$labels.instance}}, which is above the threshold
+ of 200ms. '
+ summary: There is a high level of read latency within the node.
+expr: |
+ sum(cassandra_table_readlatency_seconds_sum) by (instance) / sum(cassandra_table_readlatency_seconds_count) by (instance) * 1000 > 200
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### HighWriteLatency
+
+{{< code lang="yaml" >}}
+alert: HighWriteLatency
+annotations:
+ description: 'An average of {{ printf "%.0f" $value }}ms of write latency has occurred
+ over the last 5 minutes on {{$labels.instance}}, which is above the threshold
+ of 200ms. '
+ summary: There is a high level of write latency within the node.
+expr: |
+ sum(cassandra_keyspace_writelatency_seconds_sum) by (instance) / sum(cassandra_keyspace_writelatency_seconds_count) by (instance) * 1000 > 200
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### HighPendingCompactionTasks
+
+{{< code lang="yaml" >}}
+alert: HighPendingCompactionTasks
+annotations:
+ description: '{{ printf "%.0f" $value }} compaction tasks have been pending over
+ the last 15 minutes on {{$labels.instance}}, which is above the threshold of 30. '
+ summary: Compaction task queue is filling up.
+expr: |
+ cassandra_compaction_pendingtasks > 30
+for: 15m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### BlockedCompactionTasksFound
+
+{{< code lang="yaml" >}}
+alert: BlockedCompactionTasksFound
+annotations:
+ description: '{{ printf "%.0f" $value }} compaction tasks have been blocked over
+ the last 5 minutes on {{$labels.instance}}, which is above the threshold of 1. '
+ summary: Compaction task queue is full.
+expr: |
+ cassandra_threadpools_currentlyblockedtasks_count{threadpools="CompactionExecutor", path="internal"} > 1
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### HintsStoredOnNode
+
+{{< code lang="yaml" >}}
+alert: HintsStoredOnNode
+annotations:
+ description: '{{ printf "%.0f" $value }} hints have been written to the node over
+ the last minute on {{$labels.instance}}, which is above the threshold of 1. '
+ summary: Hints have been recently written to this node.
+expr: |
+ increase(cassandra_storage_totalhints_count[5m]) > 1
+for: 1m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### UnavailableWriteRequestsFound
+
+{{< code lang="yaml" >}}
+alert: UnavailableWriteRequestsFound
+annotations:
+ description: '{{ printf "%.0f" $value }} unavailable write requests have been found
+ over the last 5 minutes on {{$labels.instance}}, which is above the threshold
+ of 1. '
+ summary: Unavailable exceptions have been encountered while performing writes in
+ this cluster.
+expr: |
+ sum(cassandra_clientrequest_unavailables_count{clientrequest="Write"}) by (cassandra_cluster) > 1
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### HighCpuUsage
+
+{{< code lang="yaml" >}}
+alert: HighCpuUsage
+annotations:
+ description: 'Cpu usage is at {{ printf "%.0f" $value }} percent over the last 5
+ minutes on {{$labels.instance}}, which is above the threshold of 80. '
+ summary: A node has a CPU usage higher than the configured threshold.
+expr: |
+ jvm_process_cpu_load{job=~"integrations/apache-cassandra"} * 100 > 80
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### HighMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: HighMemoryUsage
+annotations:
+ description: 'Memory usage is at {{ printf "%.0f" $value }} percent over the last
+ 5 minutes on {{$labels.instance}}, which is above the threshold of 80 }}. '
+ summary: A node has a higher memory utilization than the configured threshold.
+expr: |
+ sum(jvm_memory_usage_used_bytes{job=~"integrations/apache-cassandra", area="Heap"}) / sum(jvm_physical_memory_size{job=~"integrations/apache-cassandra"}) * 100 > 80
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [cassandra-keyspaces](https://github.com/monitoring-mixins/website/blob/master/assets/apache-cassandra/dashboards/cassandra-keyspaces.json)
+- [cassandra-nodes](https://github.com/monitoring-mixins/website/blob/master/assets/apache-cassandra/dashboards/cassandra-nodes.json)
+- [cassandra-overview](https://github.com/monitoring-mixins/website/blob/master/assets/apache-cassandra/dashboards/cassandra-overview.json)
diff --git a/site/content/apache-couchdb/_index.md b/site/content/apache-couchdb/_index.md
new file mode 100644
index 0000000..cfb382d
--- /dev/null
+++ b/site/content/apache-couchdb/_index.md
@@ -0,0 +1,183 @@
+---
+title: apache-couchdb
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/apache-couchdb-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/apache-couchdb/alerts.yaml).
+{{< /panel >}}
+
+### ApacheCouchDBAlerts
+
+##### CouchDBUnhealthyCluster
+
+{{< code lang="yaml" >}}
+alert: CouchDBUnhealthyCluster
+annotations:
+ description: '{{$labels.couchdb_cluster}} has reported a value of {{ printf "%.0f"
+ $value }} for its stability over the last 5 minutes, which is below the threshold
+ of 1.'
+ summary: At least one of the nodes in a cluster is reporting the cluster as being
+ unstable.
+expr: |
+ min by(job, couchdb_cluster) (couchdb_couch_replicator_cluster_is_stable) < 1
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### CouchDBHigh4xxResponseCodes
+
+{{< code lang="yaml" >}}
+alert: CouchDBHigh4xxResponseCodes
+annotations:
+ description: '{{ printf "%.0f" $value }} 4xx responses have been detected over the
+ last 5 minutes on {{$labels.instance}}, which is above the threshold of 5.'
+ summary: There are a high number of 4xx responses for incoming requests to a node.
+expr: |
+ sum by(job, instance) (increase(couchdb_httpd_status_codes{code=~"4.*"}[5m])) > 5
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### CouchDBHigh5xxResponseCodes
+
+{{< code lang="yaml" >}}
+alert: CouchDBHigh5xxResponseCodes
+annotations:
+ description: '{{ printf "%.0f" $value }} 5xx responses have been detected over the
+ last 5 minutes on {{$labels.instance}}, which is above the threshold of 0.'
+ summary: There are a high number of 5xx responses for incoming requests to a node.
+expr: |
+ sum by(job, instance) (increase(couchdb_httpd_status_codes{code=~"5.*"}[5m])) > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### CouchDBModerateRequestLatency
+
+{{< code lang="yaml" >}}
+alert: CouchDBModerateRequestLatency
+annotations:
+ description: 'An average of {{ printf "%.0f" $value }}ms of request latency has
+ occurred over the last 5 minutes on {{$labels.instance}}, which is above the threshold
+ of 500ms. '
+ summary: There is a moderate level of request latency for a node.
+expr: |
+ sum by(job, instance) (couchdb_request_time_seconds_sum / couchdb_request_time_seconds_count) > 500
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### CouchDBHighRequestLatency
+
+{{< code lang="yaml" >}}
+alert: CouchDBHighRequestLatency
+annotations:
+ description: 'An average of {{ printf "%.0f" $value }}ms of request latency has
+ occurred over the last 5 minutes on {{$labels.instance}}, which is above the threshold
+ of 1000ms. '
+ summary: There is a high level of request latency for a node.
+expr: |
+ sum by(job, instance) (couchdb_request_time_seconds_sum / couchdb_request_time_seconds_count) > 1000
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### CouchDBManyReplicatorJobsPending
+
+{{< code lang="yaml" >}}
+alert: CouchDBManyReplicatorJobsPending
+annotations:
+ description: '{{ printf "%.0f" $value }} replicator jobs are pending on {{$labels.instance}},
+ which is above the threshold of 10. '
+ summary: There is a high number of replicator jobs pending for a node.
+expr: |
+ sum by(job, instance) (couchdb_couch_replicator_jobs_pending) > 10
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### CouchDBReplicatorJobsCrashing
+
+{{< code lang="yaml" >}}
+alert: CouchDBReplicatorJobsCrashing
+annotations:
+ description: '{{ printf "%.0f" $value }} replicator jobs have crashed over the last
+ 5 minutes on {{$labels.instance}}, which is above the threshold of 0. '
+ summary: There are replicator jobs crashing for a node.
+expr: |
+ sum by(job, instance) (increase(couchdb_couch_replicator_jobs_crashes_total[5m])) > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### CouchDBReplicatorChangesQueuesDying
+
+{{< code lang="yaml" >}}
+alert: CouchDBReplicatorChangesQueuesDying
+annotations:
+ description: '{{ printf "%.0f" $value }} replicator changes queue processes have
+ died over the last 5 minutes on {{$labels.instance}}, which is above the threshold
+ of 0. '
+ summary: There are replicator changes queue process deaths for a node.
+expr: |
+ sum by(job, instance) (increase(couchdb_couch_replicator_changes_queue_deaths_total[5m])) > 0
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### CouchDBReplicatorConnectionOwnersCrashing
+
+{{< code lang="yaml" >}}
+alert: CouchDBReplicatorConnectionOwnersCrashing
+annotations:
+ description: '{{ printf "%.0f" $value }} replicator connection owner processes have
+ crashed over the last 5 minutes on {{$labels.instance}}, which is above the threshold
+ of 0. '
+ summary: There are replicator connection owner process crashes for a node.
+expr: |
+ sum by(job, instance) (increase(couchdb_couch_replicator_connection_owner_crashes_total[5m])) > 0
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### CouchDBReplicatorConnectionWorkersCrashing
+
+{{< code lang="yaml" >}}
+alert: CouchDBReplicatorConnectionWorkersCrashing
+annotations:
+ description: '{{ printf "%.0f" $value }} replicator connection worker processes
+ have crashed over the last 5 minutes on {{$labels.instance}}, which is above the
+ threshold of 0. '
+ summary: There are replicator connection worker process crashes for a node.
+expr: |
+ sum by(job, instance) (increase(couchdb_couch_replicator_connection_worker_crashes_total[5m])) > 0
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [couchdb-nodes](https://github.com/monitoring-mixins/website/blob/master/assets/apache-couchdb/dashboards/couchdb-nodes.json)
+- [couchdb-overview](https://github.com/monitoring-mixins/website/blob/master/assets/apache-couchdb/dashboards/couchdb-overview.json)
diff --git a/site/content/apache-hadoop/_index.md b/site/content/apache-hadoop/_index.md
new file mode 100644
index 0000000..7f88453
--- /dev/null
+++ b/site/content/apache-hadoop/_index.md
@@ -0,0 +1,153 @@
+---
+title: apache-hadoop
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/apache-hadoop-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/apache-hadoop/alerts.yaml).
+{{< /panel >}}
+
+### apache-hadoop
+
+##### ApacheHadoopLowHDFSCapacity
+
+{{< code lang="yaml" >}}
+alert: ApacheHadoopLowHDFSCapacity
+annotations:
+ description: '{{ printf "%.0f" $value }} percent remaining HDFS usage on {{$labels.hadoop_cluster}}
+ - {{$labels.instance}}, which is below the threshold of 20.'
+ summary: Remaining HDFS cluster capacity is low which may result in DataNode failures
+ or prevent DataNodes from writing data.
+expr: |
+ min without(job, name) (100 * hadoop_namenode_capacityremaining / clamp_min(hadoop_namenode_capacitytotal, 1)) < 20
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### ApacheHadoopHDFSMissingBlocks
+
+{{< code lang="yaml" >}}
+alert: ApacheHadoopHDFSMissingBlocks
+annotations:
+ description: '{{ printf "%.0f" $value }} HDFS missing blocks on {{$labels.hadoop_cluster}}
+ - {{$labels.instance}}, which is above the threshold of 0.'
+ summary: There are missing blocks in the HDFS cluster which may indicate potential
+ data loss.
+expr: |
+ max without(job, name) (hadoop_namenode_missingblocks) > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### ApacheHadoopHDFSHighVolumeFailures
+
+{{< code lang="yaml" >}}
+alert: ApacheHadoopHDFSHighVolumeFailures
+annotations:
+ description: '{{ printf "%.0f" $value }} HDFS volume failures on {{$labels.hadoop_cluster}}
+ - {{$labels.instance}}, which is above the threshold of 0.'
+ summary: A volume failure in HDFS cluster may indicate hardware failures.
+expr: |
+ max without(job, name) (hadoop_namenode_volumefailurestotal) > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### ApacheHadoopHighDeadDataNodes
+
+{{< code lang="yaml" >}}
+alert: ApacheHadoopHighDeadDataNodes
+annotations:
+ description: '{{ printf "%.0f" $value }} dead HDFS volume failures on {{$labels.hadoop_cluster}}
+ - {{$labels.instance}}, which is above the threshold of 0.'
+ summary: Number of dead DataNodes has increased, which could result in data loss
+ and increased network activity.
+expr: |
+ max without(job, name) (hadoop_namenode_numdeaddatanodes) > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### ApacheHadoopHighNodeManagerCPUUsage
+
+{{< code lang="yaml" >}}
+alert: ApacheHadoopHighNodeManagerCPUUsage
+annotations:
+ description: '{{ printf "%.0f" $value }} CPU usage on {{$labels.hadoop_cluster}}
+ - {{$labels.instance}}, which is above the threshold of 80.'
+ summary: A NodeManager has a CPU usage higher than the configured threshold.
+expr: |
+ max without(job, name) (100 * hadoop_nodemanager_nodecpuutilization) > 80
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### ApacheHadoopHighNodeManagerMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: ApacheHadoopHighNodeManagerMemoryUsage
+annotations:
+ description: '{{ printf "%.0f" $value}} percent NodeManager memory usage on {{$labels.hadoop_cluster}}
+ - {{$labels.instance}}, which is above the threshold of 80.'
+ summary: A NodeManager has a higher memory utilization than the configured threshold.
+expr: |
+ max without(job, name) (100 * hadoop_nodemanager_allocatedgb / clamp_min(hadoop_nodemanager_availablegb + hadoop_nodemanager_allocatedgb,1)) > 80
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### ApacheHadoopHighResourceManagerVirtualCoreCPUUsage
+
+{{< code lang="yaml" >}}
+alert: ApacheHadoopHighResourceManagerVirtualCoreCPUUsage
+annotations:
+ description: '{{ printf "%.0f" $value }} virtual core CPU usage on {{$labels.hadoop_cluster}}
+ - {{$labels.instance}}, which is above the threshold of 80.'
+ summary: A ResourceManager has a virtual core CPU usage higher than the configured
+ threshold.
+expr: |
+ max without(job, name) (100 * hadoop_resourcemanager_allocatedvcores / clamp_min(hadoop_resourcemanager_availablevcores + hadoop_resourcemanager_allocatedvcores,1)) > 80
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### ApacheHadoopHighResourceManagerMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: ApacheHadoopHighResourceManagerMemoryUsage
+annotations:
+ description: '{{ printf "%.0f" $value}} percent ResourceManager memory usage on
+ {{$labels.hadoop_cluster}} - {{$labels.instance}}, which is above the threshold
+ of 80.'
+ summary: A ResourceManager has a higher memory utilization than the configured threshold.
+expr: |
+ max without(job, name) (100 * hadoop_resourcemanager_allocatedmb / clamp_min(hadoop_resourcemanager_availablemb + hadoop_resourcemanager_allocatedmb,1)) > 80
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [apache-hadoop-datanode-overview](https://github.com/monitoring-mixins/website/blob/master/assets/apache-hadoop/dashboards/apache-hadoop-datanode-overview.json)
+- [apache-hadoop-namenode-overview](https://github.com/monitoring-mixins/website/blob/master/assets/apache-hadoop/dashboards/apache-hadoop-namenode-overview.json)
+- [apache-hadoop-nodemanager-overview](https://github.com/monitoring-mixins/website/blob/master/assets/apache-hadoop/dashboards/apache-hadoop-nodemanager-overview.json)
+- [apache-hadoop-resourcemanager-overview](https://github.com/monitoring-mixins/website/blob/master/assets/apache-hadoop/dashboards/apache-hadoop-resourcemanager-overview.json)
diff --git a/site/content/apache-hbase/_index.md b/site/content/apache-hbase/_index.md
new file mode 100644
index 0000000..f1a7ebe
--- /dev/null
+++ b/site/content/apache-hbase/_index.md
@@ -0,0 +1,107 @@
+---
+title: apache-hbase
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/apache-hbase-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/apache-hbase/alerts.yaml).
+{{< /panel >}}
+
+### apache-hbase-alerts
+
+##### HBaseHighHeapMemUsage
+
+{{< code lang="yaml" >}}
+alert: HBaseHighHeapMemUsage
+annotations:
+ description: The heap memory usage for the JVM on instance {{$labels.instance}}
+ in cluster {{$labels.hbase_cluster}} is {{printf "%.0f" $value}} percent, which
+ is above the threshold of 80 percent
+ summary: There is a limited amount of heap memory available to the JVM.
+expr: |
+ 100 * sum without(context, hostname, processname) (jvm_metrics_mem_heap_used_m{job=~"integrations/apache-hbase"} / clamp_min(jvm_metrics_mem_heap_committed_m{job=~"integrations/apache-hbase"}, 1)) > 80
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### HBaseDeadRegionServer
+
+{{< code lang="yaml" >}}
+alert: HBaseDeadRegionServer
+annotations:
+ description: '{{$value}} RegionServer(s) in cluster {{$labels.hbase_cluster}} are
+ unresponsive, which is above the threshold of 0. The name(s) of the dead RegionServer(s)
+ are {{$labels.deadregionservers}}'
+ summary: One or more RegionServer(s) has become unresponsive.
+expr: |
+ server_num_dead_region_servers > 0
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### HBaseOldRegionsInTransition
+
+{{< code lang="yaml" >}}
+alert: HBaseOldRegionsInTransition
+annotations:
+ description: '{{printf "%.0f" $value}} percent of RegionServers in transition in
+ cluster {{$labels.hbase_cluster}} are transitioning for longer than expected,
+ which is above the threshold of 50 percent'
+ summary: RegionServers are in transition for longer than expected.
+expr: |
+ 100 * assignment_manager_rit_count_over_threshold / clamp_min(assignment_manager_rit_count, 1) > 50
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### HBaseHighMasterAuthFailRate
+
+{{< code lang="yaml" >}}
+alert: HBaseHighMasterAuthFailRate
+annotations:
+ description: '{{printf "%.0f" $value}} percent of authentication attempts to the
+ master are failing in cluster {{$labels.hbase_cluster}}, which is above the threshold
+ of 35 percent'
+ summary: A high percentage of authentication attempts to the master are failing.
+expr: |
+ 100 * rate(master_authentication_failures[5m]) / (clamp_min(rate(master_authentication_successes[5m]), 1) + clamp_min(rate(master_authentication_failures[5m]), 1)) > 35
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### HBaseHighRSAuthFailRate
+
+{{< code lang="yaml" >}}
+alert: HBaseHighRSAuthFailRate
+annotations:
+ description: '{{printf "%.0f" $value}} percent of authentication attempts to the
+ RegionServer {{$labels.instance}} are failing in cluster {{$labels.hbase_cluster}},
+ which is above the threshold of 35 percent'
+ summary: A high percentage of authentication attempts to a RegionServer are failing.
+expr: |
+ 100 * rate(region_server_authentication_failures[5m]) / (clamp_min(rate(region_server_authentication_successes[5m]), 1) + clamp_min(rate(region_server_authentication_failures[5m]), 1)) > 35
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [apache-hbase-cluster-overview](https://github.com/monitoring-mixins/website/blob/master/assets/apache-hbase/dashboards/apache-hbase-cluster-overview.json)
+- [apache-hbase-logs](https://github.com/monitoring-mixins/website/blob/master/assets/apache-hbase/dashboards/apache-hbase-logs.json)
+- [apache-hbase-regionserver-overview](https://github.com/monitoring-mixins/website/blob/master/assets/apache-hbase/dashboards/apache-hbase-regionserver-overview.json)
diff --git a/site/content/apache-http/_index.md b/site/content/apache-http/_index.md
new file mode 100644
index 0000000..8233a45
--- /dev/null
+++ b/site/content/apache-http/_index.md
@@ -0,0 +1,83 @@
+---
+title: apache-http
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/apache-http-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/apache-http/alerts.yaml).
+{{< /panel >}}
+
+### apache-http
+
+##### ApacheDown
+
+{{< code lang="yaml" >}}
+alert: ApacheDown
+annotations:
+ description: Apache is down on {{ $labels.instance }}.
+ summary: Apache is down.
+expr: apache_up == 0
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### ApacheRestart
+
+{{< code lang="yaml" >}}
+alert: ApacheRestart
+annotations:
+ description: Apache has just been restarted on {{ $labels.instance }}.
+ summary: Apache restart.
+expr: apache_uptime_seconds_total / 60 < 1
+for: "0"
+labels:
+ severity: info
+{{< /code >}}
+
+##### ApacheWorkersLoad
+
+{{< code lang="yaml" >}}
+alert: ApacheWorkersLoad
+annotations:
+ description: |
+ Apache workers in busy state approach the max workers count 80% workers busy on {{ $labels.instance }}.
+ The current value is {{ $value }}%.
+ summary: Apache workers load is too high.
+expr: |
+ (sum by (instance) (apache_workers{state="busy"}) / sum by (instance) (apache_scoreboard) ) * 100 > 80
+for: 15m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### ApacheResponseTimeTooHigh
+
+{{< code lang="yaml" >}}
+alert: ApacheResponseTimeTooHigh
+annotations:
+ description: |
+ Apache average response time is above the threshold of 5000 ms on {{ $labels.instance }}.
+ The current value is {{ $value }} ms.
+ summary: Apache response time is too high.
+expr: |
+ increase(apache_duration_ms_total[5m])/increase(apache_accesses_total[5m]) > 5000
+for: 15m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [apache-http](https://github.com/monitoring-mixins/website/blob/master/assets/apache-http/dashboards/apache-http.json)
diff --git a/site/content/apache-mesos/_index.md b/site/content/apache-mesos/_index.md
new file mode 100644
index 0000000..1edec9e
--- /dev/null
+++ b/site/content/apache-mesos/_index.md
@@ -0,0 +1,99 @@
+---
+title: apache-mesos
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/apache-mesos-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/apache-mesos/alerts.yaml).
+{{< /panel >}}
+
+### apache-mesos
+
+##### ApacheMesosHighMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: ApacheMesosHighMemoryUsage
+annotations:
+ description: '{{ printf "%.0f" $value }} percent memory usage on {{$labels.mesos_cluster}},
+ which is above the threshold of 90.'
+ summary: There is a high memory usage for the cluster.
+expr: |
+ min without(instance, job, type) (mesos_master_mem{type="percent"}) > 90
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### ApacheMesosHighDiskUsage
+
+{{< code lang="yaml" >}}
+alert: ApacheMesosHighDiskUsage
+annotations:
+ description: '{{ printf "%.0f" $value }} percent disk usage on {{$labels.mesos_cluster}},
+ which is above the threshold of 90.'
+ summary: There is a high disk usage for the cluster.
+expr: |
+ min without(instance, job, type) (mesos_master_disk{type="percent"}) > 90
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### ApacheMesosUnreachableTasks
+
+{{< code lang="yaml" >}}
+alert: ApacheMesosUnreachableTasks
+annotations:
+ description: '{{ printf "%.0f" $value }} unreachable tasks on {{$labels.mesos_cluster}},
+ which is above the threshold of 3.'
+ summary: There are an unusually high number of unreachable tasks.
+expr: |
+ max without(instance, job, state) (mesos_master_task_states_current{state="unreachable"}) > 3
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### ApacheMesosNoLeaderElected
+
+{{< code lang="yaml" >}}
+alert: ApacheMesosNoLeaderElected
+annotations:
+ description: There is no cluster coordinator on {{$labels.mesos_cluster}}.
+ summary: There is currently no cluster coordinator.
+expr: |
+ max without(instance, job) (mesos_master_elected) == 0
+for: 1m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### ApacheMesosInactiveAgents
+
+{{< code lang="yaml" >}}
+alert: ApacheMesosInactiveAgents
+annotations:
+ description: '{{ printf "%.0f" $value }} inactive agent clients over the last 5m
+ which is above the threshold of 1.'
+ summary: There are currently inactive agent clients.
+expr: |
+ max without(instance, job, state) (mesos_master_slaves_state{state=~"connected_inactive|disconnected_inactive"}) > 1
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [apache-mesos-overview](https://github.com/monitoring-mixins/website/blob/master/assets/apache-mesos/dashboards/apache-mesos-overview.json)
diff --git a/site/content/apache-solr/_index.md b/site/content/apache-solr/_index.md
new file mode 100644
index 0000000..28b6f03
--- /dev/null
+++ b/site/content/apache-solr/_index.md
@@ -0,0 +1,158 @@
+---
+title: apache-solr
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/apache-solr-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/apache-solr/alerts.yaml).
+{{< /panel >}}
+
+### apache-solr
+
+##### ApacheSolrZookeeperChangeInEnsembleSize
+
+{{< code lang="yaml" >}}
+alert: ApacheSolrZookeeperChangeInEnsembleSize
+annotations:
+ description: Zookeeper host {{$labels.zk_host}} has had an ensemble change of {{
+ printf "%.0f" $value }} over the last 5 minutes
+ summary: Changes in the ZooKeeper ensemble size can affect the stability and performance
+ of the cluster.
+expr: |
+ changes(solr_zookeeper_ensemble_size[5m]) > 0
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### ApacheSolrHighCPUUsageCritical
+
+{{< code lang="yaml" >}}
+alert: ApacheSolrHighCPUUsageCritical
+annotations:
+ description: '{{$labels.instance}} on cluster {{$labels.solr_cluster}} has had a
+ system CPU load of {{ printf "%.0f" $value }}%, which is above the threshold of
+ 85.'
+ summary: High CPU load can indicate that Solr nodes are under heavy load, potentially
+ impacting performance.
+expr: |
+ 100 * sum without (base_url, item) (avg_over_time(solr_metrics_jvm_os_cpu_load{item="systemCpuLoad"}[5m])) > 85
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### ApacheSolrHighCPUUsageWarning
+
+{{< code lang="yaml" >}}
+alert: ApacheSolrHighCPUUsageWarning
+annotations:
+ description: '{{$labels.instance}} on cluster {{$labels.solr_cluster}} has had a
+ system CPU load of {{ printf "%.0f" $value }}%, which is above the threshold of
+ 75.'
+ summary: High CPU load can indicate that Solr nodes are under heavy load, potentially
+ impacting performance.
+expr: |
+ 100 * sum without (base_url, item) (avg_over_time(solr_metrics_jvm_os_cpu_load{item="systemCpuLoad"}[5m])) > 75
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### ApacheSolrHighHeapMemoryUsageCritical
+
+{{< code lang="yaml" >}}
+alert: ApacheSolrHighHeapMemoryUsageCritical
+annotations:
+ description: |
+ {{$labels.instance}} on cluster {{$labels.solr_cluster}} has had high memory usage of {{ printf "%.0f" $value }}%, which is above the thresold of 75.
+ summary: High heap memory usage can lead to garbage collection issues, out-of-memory
+ errors, and overall system instability.
+expr: |
+ 100 * sum without(item, base_url)(solr_metrics_jvm_memory_heap_bytes{item="used"}) / clamp_min(sum without(item, base_url)(solr_metrics_jvm_memory_heap_bytes{item="max"}), 1) > 75
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### ApacheSolrHighHeapMemoryUsageWarning
+
+{{< code lang="yaml" >}}
+alert: ApacheSolrHighHeapMemoryUsageWarning
+annotations:
+ description: |
+ {{$labels.instance}} on cluster {{$labels.solr_cluster}} has had high memory usage of {{ printf "%.0f" $value }}%, which is above the thresold of 85.
+ summary: High heap memory usage can lead to garbage collection issues, out-of-memory
+ errors, and overall system instability.
+expr: |
+ 100 * sum without(item, base_url)(solr_metrics_jvm_memory_heap_bytes{item="used"}) / clamp_min(sum without(item, base_url)(solr_metrics_jvm_memory_heap_bytes{item="max"}), 1) > 85
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### ApacheSolrLowCacheHitRatio
+
+{{< code lang="yaml" >}}
+alert: ApacheSolrLowCacheHitRatio
+annotations:
+ description: |
+ {{$labels.instance}} on cluster {{$labels.solr_cluster}} has had a low cache hit ratio of {{ printf "%.0f" $value }}% on core {{$labels.core}} of type {{$labels.type}}, which is under the threshold of 75.
+ summary: Low cache hit ratios can lead to increased disk I/O and slower query response
+ times.
+expr: |
+ 100 * sum without(base_url, category, collection, item, replica, shard) (solr_metrics_core_searcher_cache_ratio{item="hitratio", type=~"documentCache|filterCache|queryResultCache"}) < 75
+for: 10m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### ApacheSolrHighCoreErrors
+
+{{< code lang="yaml" >}}
+alert: ApacheSolrHighCoreErrors
+annotations:
+ description: |
+ {{$labels.instance}} on cluster {{$labels.solr_cluster}} has had a high amount of core errors {{ printf "%.0f" $value }}% on core {{$labels.core}}, which is above the threshold of 15.
+ summary: A spike in core errors can indicate serious issues at the core level, affecting
+ data integrity and availability.
+expr: |
+ 100 * sum without(base_url, category, collection, handler, replica, shard) (increase(solr_metrics_core_errors_total[10m]) / clamp_min(avg_over_time(solr_metrics_core_errors_total[10m]), 1)) > 15
+for: 10m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### ApacheSolrHighDocumentIndexing
+
+{{< code lang="yaml" >}}
+alert: ApacheSolrHighDocumentIndexing
+annotations:
+ description: |
+ {{$labels.instance}} on cluster {{$labels.solr_cluster}} has had a high document indexing value of {{ printf "%.0f" $value }}% on core {{$labels.core}}, which is above the threshold of 30.
+ summary: A sudden spike in document indexing could indicate unintended or malicious
+ bulk updates.
+expr: |
+ 100 * sum without(base_url, category, collection, handler, replica, shard) (increase(solr_metrics_core_update_handler_adds_total[15m]) / clamp_min(avg_over_time(solr_metrics_core_update_handler_adds_total[15m]), 1)) > 30
+for: 15m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [apache-solr-cluster-overview](https://github.com/monitoring-mixins/website/blob/master/assets/apache-solr/dashboards/apache-solr-cluster-overview.json)
+- [apache-solr-logs-overview](https://github.com/monitoring-mixins/website/blob/master/assets/apache-solr/dashboards/apache-solr-logs-overview.json)
+- [apache-solr-query-performance](https://github.com/monitoring-mixins/website/blob/master/assets/apache-solr/dashboards/apache-solr-query-performance.json)
+- [apache-solr-resource-monitoring](https://github.com/monitoring-mixins/website/blob/master/assets/apache-solr/dashboards/apache-solr-resource-monitoring.json)
diff --git a/site/content/apache-tomcat/_index.md b/site/content/apache-tomcat/_index.md
new file mode 100644
index 0000000..0747a33
--- /dev/null
+++ b/site/content/apache-tomcat/_index.md
@@ -0,0 +1,88 @@
+---
+title: apache-tomcat
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/apache-tomcat-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/apache-tomcat/alerts.yaml).
+{{< /panel >}}
+
+### ApacheTomcatAlerts
+
+##### ApacheTomcatAlertsHighCpuUsage
+
+{{< code lang="yaml" >}}
+alert: ApacheTomcatAlertsHighCpuUsage
+annotations:
+ description: The CPU usage has been at {{ printf "%.0f" $value }} percent over the
+ last 5 minutes on {{$labels.instance}}, which is above the threshold of 80 percent.
+ summary: The instance has a CPU usage higher than the configured threshold.
+expr: |
+ sum by (job, instance) (jvm_process_cpu_load{job=~"integrations/tomcat"}) > 80
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### ApacheTomcatAlertsHighMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: ApacheTomcatAlertsHighMemoryUsage
+annotations:
+ description: The memory usage has been at {{ printf "%.0f" $value }} percent over
+ the last 5 minutes on {{$labels.instance}}, which is above the threshold of 80
+ percent.
+ summary: The instance has a higher memory usage than the configured threshold.
+expr: |
+ sum(jvm_memory_usage_used_bytes{job=~"integrations/tomcat"}) by (job, instance) / sum(jvm_physical_memory_bytes{job=~"integrations/tomcat"}) by (job, instance) * 100 > 80
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### ApacheTomcatAlertsHighRequestErrorPercent
+
+{{< code lang="yaml" >}}
+alert: ApacheTomcatAlertsHighRequestErrorPercent
+annotations:
+ description: The percentage of request errors has been at {{ printf "%.0f" $value
+ }} percent over the last 5 minutes on {{$labels.instance}}, which is above the
+ threshold of 5 percent.
+ summary: There are a high number of request errors.
+expr: |
+ sum by (job, instance) (increase(tomcat_errorcount_total[5m]) / increase(tomcat_requestcount_total[5m]) * 100) > 5
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### ApacheTomcatAlertsModeratelyHighProcessingTime
+
+{{< code lang="yaml" >}}
+alert: ApacheTomcatAlertsModeratelyHighProcessingTime
+annotations:
+ description: The processing time has been at {{ printf "%.0f" $value }}ms over the
+ last 5 minutes on {{$labels.instance}}, which is above the threshold of 300ms.
+ summary: The processing time has been moderately high.
+expr: |
+ sum by (job, instance) (increase(tomcat_processingtime_total[5m]) / increase(tomcat_requestcount_total[5m])) > 300
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [apache-tomcat-hosts](https://github.com/monitoring-mixins/website/blob/master/assets/apache-tomcat/dashboards/apache-tomcat-hosts.json)
+- [apache-tomcat-overview](https://github.com/monitoring-mixins/website/blob/master/assets/apache-tomcat/dashboards/apache-tomcat-overview.json)
diff --git a/site/content/argocd/_index.md b/site/content/argocd/_index.md
new file mode 100644
index 0000000..406a778
--- /dev/null
+++ b/site/content/argocd/_index.md
@@ -0,0 +1,67 @@
+---
+title: argocd
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/argocd-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/argocd/alerts.yaml).
+{{< /panel >}}
+
+### ArgoCD
+
+##### ArgoAppOutOfSync
+
+{{< code lang="yaml" >}}
+alert: ArgoAppOutOfSync
+annotations:
+ description: Application {{ $labels.name }} has sync status as {{ $labels.sync_status
+ }}.
+ summary: Application is OutOfSync.
+expr: argocd_app_info{sync_status="OutOfSync"} == 1
+for: 1m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### ArgoAppSyncFailed
+
+{{< code lang="yaml" >}}
+alert: ArgoAppSyncFailed
+annotations:
+ description: Application {{ $labels.name }} has sync phase as {{ $labels.phase }}.
+ summary: Application Sync Failed.
+expr: argocd_app_sync_total{phase!="Succeeded"} == 1
+for: 1m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### ArgoAppMissing
+
+{{< code lang="yaml" >}}
+alert: ArgoAppMissing
+annotations:
+ description: "ArgoCD has not reported any applications data for the past 15 minutes
+ which means that it must be down or not functioning properly.
+"
+ summary: No reported applications in ArgoCD.
+expr: absent(argocd_app_info)
+for: 15m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [argocd-overview](https://github.com/monitoring-mixins/website/blob/master/assets/argocd/dashboards/argocd-overview.json)
diff --git a/site/content/asterisk/_index.md b/site/content/asterisk/_index.md
new file mode 100644
index 0000000..061a21b
--- /dev/null
+++ b/site/content/asterisk/_index.md
@@ -0,0 +1,90 @@
+---
+title: asterisk
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/asterisk-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/asterisk/alerts.yaml).
+{{< /panel >}}
+
+### AsteriskAlerts
+
+##### AsteriskRestarted
+
+{{< code lang="yaml" >}}
+alert: AsteriskRestarted
+annotations:
+ description: |-
+ Asterisk instance restarted in the last minute
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: Asterisk instance restarted in the last minute.
+expr: asterisk_core_uptime_seconds < 60
+for: 5s
+labels:
+ severity: critical
+{{< /code >}}
+
+##### AsteriskReloaded
+
+{{< code lang="yaml" >}}
+alert: AsteriskReloaded
+annotations:
+ description: |-
+ Asterisk instance reloaded in the last minute
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: Asterisk instance reloaded in the last minute.
+expr: asterisk_core_last_reload_seconds < 60
+for: 5s
+labels:
+ severity: warning
+{{< /code >}}
+
+##### AsteriskHighScrapeTime
+
+{{< code lang="yaml" >}}
+alert: AsteriskHighScrapeTime
+annotations:
+ description: |-
+ Asterisk instance core high scrape time (Possible system performance degradation)
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: Asterisk instance core high scrape time.
+expr: asterisk_core_scrape_time_ms > 100
+for: 10s
+labels:
+ severity: critical
+{{< /code >}}
+
+##### AsteriskHighActiveCallsCount
+
+{{< code lang="yaml" >}}
+alert: AsteriskHighActiveCallsCount
+annotations:
+ description: |-
+ Asterisk high active call count
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: Asterisk high active call count.
+expr: asterisk_calls_count > 100
+for: 10s
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [asterisk-logs](https://github.com/monitoring-mixins/website/blob/master/assets/asterisk/dashboards/asterisk-logs.json)
+- [asterisk-overview](https://github.com/monitoring-mixins/website/blob/master/assets/asterisk/dashboards/asterisk-overview.json)
diff --git a/site/content/awx/_index.md b/site/content/awx/_index.md
new file mode 100644
index 0000000..588f9da
--- /dev/null
+++ b/site/content/awx/_index.md
@@ -0,0 +1,17 @@
+---
+title: awx
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/awx-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [awx](https://github.com/monitoring-mixins/website/blob/master/assets/awx/dashboards/awx.json)
diff --git a/site/content/blackbox_exporter/_index.md b/site/content/blackbox_exporter/_index.md
new file mode 100644
index 0000000..dfdb186
--- /dev/null
+++ b/site/content/blackbox_exporter/_index.md
@@ -0,0 +1,74 @@
+---
+title: blackbox_exporter
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/adinhodovic/blackbox-exporter-mixin/](https://github.com/adinhodovic/blackbox-exporter-mixin/)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/blackbox_exporter/alerts.yaml).
+{{< /panel >}}
+
+### blackbox-exporter.rules
+
+##### BlackboxProbeFailed
+
+{{< code lang="yaml" >}}
+alert: BlackboxProbeFailed
+annotations:
+ dashboard_url: https://grafana.com/d/blackbox-exporter-j4da/blackbox-exporter?instance={{
+ $labels.instance }}
+ description: The probe failed for the instance {{ $labels.instance }}.
+ summary: Probe has failed for the past 1m interval.
+expr: |
+ probe_success{job="blackbox-exporter"} == 0
+for: 1m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### BlackboxLowUptime30d
+
+{{< code lang="yaml" >}}
+alert: BlackboxLowUptime30d
+annotations:
+ dashboard_url: https://grafana.com/d/blackbox-exporter-j4da/blackbox-exporter?instance={{
+ $labels.instance }}
+ description: The probe has a lower uptime than 99.9% the last 30 days for the instance
+ {{ $labels.instance }}.
+ summary: Probe uptime is lower than 99.9% for the last 30 days.
+expr: |
+ avg_over_time(probe_success{job="blackbox-exporter"}[30d]) * 100 < 99.900000000000006
+labels:
+ severity: info
+{{< /code >}}
+
+##### BlackboxSslCertificateWillExpireSoon
+
+{{< code lang="yaml" >}}
+alert: BlackboxSslCertificateWillExpireSoon
+annotations:
+ dashboard_url: https://grafana.com/d/blackbox-exporter-j4da/blackbox-exporter?instance={{
+ $labels.instance }}
+ description: |
+ The SSL certificate of the instance {{ $labels.instance }} is expiring within 21 days.
+ Actual time left: {{ $value | humanizeDuration }}.
+ summary: SSL certificate will expire soon.
+expr: |
+ probe_ssl_earliest_cert_expiry{job="blackbox-exporter"} - time() < 21 * 24 * 3600
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [blackbox-exporter](https://github.com/monitoring-mixins/website/blob/master/assets/blackbox_exporter/dashboards/blackbox-exporter.json)
diff --git a/site/content/caddy/_index.md b/site/content/caddy/_index.md
new file mode 100644
index 0000000..5ce0e36
--- /dev/null
+++ b/site/content/caddy/_index.md
@@ -0,0 +1,17 @@
+---
+title: caddy
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/caddy-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [caddy-overview](https://github.com/monitoring-mixins/website/blob/master/assets/caddy/dashboards/caddy-overview.json)
diff --git a/site/content/cilium-enterprise/_index.md b/site/content/cilium-enterprise/_index.md
new file mode 100644
index 0000000..2fdce9f
--- /dev/null
+++ b/site/content/cilium-enterprise/_index.md
@@ -0,0 +1,82 @@
+---
+title: cilium-enterprise
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/cilium-enterprise-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/alerts.yaml).
+{{< /panel >}}
+
+### Cilium
+
+### Endpoints
+
+### Cilium
+
+### IPAM
+
+### Cilium
+
+### Maps
+
+### Cilium
+
+### NAT
+
+### Cilium
+
+### API
+
+### Cilium
+
+### Conntrack
+
+### Cilium
+
+### Drops
+
+### Cilium
+
+### Policy
+
+### Cilium
+
+### Identity
+
+### Cilium
+
+### Nodes
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [cilium-L3-policy](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/cilium-L3-policy.json)
+- [cilium-L7-proxy](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/cilium-L7-proxy.json)
+- [cilium-agent-overview](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/cilium-agent-overview.json)
+- [cilium-agent](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/cilium-agent.json)
+- [cilium-api](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/cilium-api.json)
+- [cilium-bpf](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/cilium-bpf.json)
+- [cilium-conntrack](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/cilium-conntrack.json)
+- [cilium-datapath](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/cilium-datapath.json)
+- [cilium-external-fqdn-proxy](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/cilium-external-fqdn-proxy.json)
+- [cilium-fqdn-proxy](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/cilium-fqdn-proxy.json)
+- [cilium-identities](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/cilium-identities.json)
+- [cilium-kubernetes](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/cilium-kubernetes.json)
+- [cilium-network](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/cilium-network.json)
+- [cilium-nodes](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/cilium-nodes.json)
+- [cilium-operator](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/cilium-operator.json)
+- [cilium-overview](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/cilium-overview.json)
+- [cilium-policy](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/cilium-policy.json)
+- [cilium-resource-utilization](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/cilium-resource-utilization.json)
+- [hubble-overview](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/hubble-overview.json)
+- [hubble-timescape](https://github.com/monitoring-mixins/website/blob/master/assets/cilium-enterprise/dashboards/hubble-timescape.json)
diff --git a/site/content/clickhouse/_index.md b/site/content/clickhouse/_index.md
new file mode 100644
index 0000000..be7dfd3
--- /dev/null
+++ b/site/content/clickhouse/_index.md
@@ -0,0 +1,89 @@
+---
+title: clickhouse
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/clickhouse-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/clickhouse/alerts.yaml).
+{{< /panel >}}
+
+### ClickHouseAlerts
+
+##### ClickHouseReplicationQueueBackingUp
+
+{{< code lang="yaml" >}}
+alert: ClickHouseReplicationQueueBackingUp
+annotations:
+ description: |
+ ClickHouse replication tasks are processing slower than expected on {{ $labels.instance }} causing replication queue size to back up at {{ $value }} exceeding the threshold value of 99.
+ summary: ClickHouse replica max queue size backing up.
+expr: |
+ ClickHouseAsyncMetrics_ReplicasMaxQueueSize > 99
+for: 5m
+keep_firing_for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### ClickHouseRejectedInserts
+
+{{< code lang="yaml" >}}
+alert: ClickHouseRejectedInserts
+annotations:
+ description: ClickHouse inserts are being rejected on {{ $labels.instance }} as
+ items are being inserted faster than ClickHouse is able to merge them.
+ summary: ClickHouse has too many rejected inserts.
+expr: ClickHouseProfileEvents_RejectedInserts > 1
+for: 5m
+keep_firing_for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### ClickHouseZookeeperSessions
+
+{{< code lang="yaml" >}}
+alert: ClickHouseZookeeperSessions
+annotations:
+ description: |
+ ClickHouse has more than one connection to a Zookeeper on {{ $labels.instance }} which can lead to bugs due to stale reads in Zookeepers consistency model.
+ summary: ClickHouse has too many Zookeeper sessions.
+expr: ClickHouseMetrics_ZooKeeperSession > 1
+for: 5m
+keep_firing_for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### ClickHouseReplicasInReadOnly
+
+{{< code lang="yaml" >}}
+alert: ClickHouseReplicasInReadOnly
+annotations:
+ description: |
+ ClickHouse has replicas in a read only state on {{ $labels.instance }} after losing connection to Zookeeper or at startup.
+ summary: ClickHouse has too many replicas in read only state.
+expr: ClickHouseMetrics_ReadonlyReplica > 0
+for: 5m
+keep_firing_for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [clickhouse-latency](https://github.com/monitoring-mixins/website/blob/master/assets/clickhouse/dashboards/clickhouse-latency.json)
+- [clickhouse-logs](https://github.com/monitoring-mixins/website/blob/master/assets/clickhouse/dashboards/clickhouse-logs.json)
+- [clickhouse-overview](https://github.com/monitoring-mixins/website/blob/master/assets/clickhouse/dashboards/clickhouse-overview.json)
+- [clickhouse-replica](https://github.com/monitoring-mixins/website/blob/master/assets/clickhouse/dashboards/clickhouse-replica.json)
diff --git a/site/content/cloudflare/_index.md b/site/content/cloudflare/_index.md
new file mode 100644
index 0000000..833c163
--- /dev/null
+++ b/site/content/cloudflare/_index.md
@@ -0,0 +1,104 @@
+---
+title: cloudflare
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/cloudflare-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/cloudflare/alerts.yaml).
+{{< /panel >}}
+
+### cloudflare-alerts
+
+##### CloudflareHighThreatCount
+
+{{< code lang="yaml" >}}
+alert: CloudflareHighThreatCount
+annotations:
+ description: The number of detected threats targeting the zone {{$labels.zone}}
+ is {{ printf "%.0f" $value }} which is greater than the threshold of 3.
+ summary: There are detected threats targeting the zone.
+expr: |
+ sum without (instance) (increase(cloudflare_zone_threats_total[5m])) > 3
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### CloudflareHighRequestRate
+
+{{< code lang="yaml" >}}
+alert: CloudflareHighRequestRate
+annotations:
+ description: The rate of requests to {{$labels.zone}} is {{ printf "%.0f" $value
+ }}% of the prior 50 minute baseline which is above the threshold of 150%.
+ summary: A high spike in requests is occurring which may indicate an attack or unexpected
+ load.
+expr: |
+ sum without (instance) (100 * (rate(cloudflare_zone_requests_total[10m]) / clamp_min(rate(cloudflare_zone_requests_total[50m] offset 10m), 1))) > 150
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### CloudflareHighHTTPErrorCodes
+
+{{< code lang="yaml" >}}
+alert: CloudflareHighHTTPErrorCodes
+annotations:
+ description: The number of {{$labels.status}} HTTP status codes occurring in the
+ zone {{$labels.zone}} is {{ printf "%.0f" $value }} which is greater than the
+ threshold of 100.
+ summary: A high number of 4xx or 5xx HTTP status codes are occurring.
+expr: |
+ sum without (instance) (increase(cloudflare_zone_requests_status{status=~"4.*|5.*"}[5m])) > 100
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### CloudflareUnhealthyPools
+
+{{< code lang="yaml" >}}
+alert: CloudflareUnhealthyPools
+annotations:
+ description: The pool {{$labels.pool_name}} in zone {{$labels.zone}} is currently
+ down and unhealthy.
+ summary: There are unhealthy pools.
+expr: |
+ sum without (instance, load_balancer_name) (cloudflare_zone_pool_health_status) == 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### CloudflareMetricsDown
+
+{{< code lang="yaml" >}}
+alert: CloudflareMetricsDown
+annotations:
+ description: Grafana is no longer receiving metrics for the Cloudflare integration
+ from instance {{$labels.instance}}.
+ summary: Cloudflare metrics are down.
+expr: |
+ up{job="integrations/cloudflare"} == 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [cloudflare-geomap-overview](https://github.com/monitoring-mixins/website/blob/master/assets/cloudflare/dashboards/cloudflare-geomap-overview.json)
+- [cloudflare-worker-overview](https://github.com/monitoring-mixins/website/blob/master/assets/cloudflare/dashboards/cloudflare-worker-overview.json)
+- [cloudflare-zone-overview](https://github.com/monitoring-mixins/website/blob/master/assets/cloudflare/dashboards/cloudflare-zone-overview.json)
diff --git a/site/content/confluent-kafka/_index.md b/site/content/confluent-kafka/_index.md
new file mode 100644
index 0000000..17711e7
--- /dev/null
+++ b/site/content/confluent-kafka/_index.md
@@ -0,0 +1,17 @@
+---
+title: confluent-kafka
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/confluent-kafka-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [confluent-kafka-overview](https://github.com/monitoring-mixins/website/blob/master/assets/confluent-kafka/dashboards/confluent-kafka-overview.json)
diff --git a/site/content/couchbase/_index.md b/site/content/couchbase/_index.md
new file mode 100644
index 0000000..d8fd50b
--- /dev/null
+++ b/site/content/couchbase/_index.md
@@ -0,0 +1,92 @@
+---
+title: couchbase
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/couchbase-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/couchbase/alerts.yaml).
+{{< /panel >}}
+
+### couchbase
+
+##### CouchbaseHighCPUUsage
+
+{{< code lang="yaml" >}}
+alert: CouchbaseHighCPUUsage
+annotations:
+ description: '{{ printf "%.0f" $value }} percent CPU usage on node {{$labels.instance}}
+ and on cluster {{$labels.couchbase_cluster}}, which is above the threshold of
+ 85.'
+ summary: The node CPU usage has exceeded the critical threshold.
+expr: |
+ (sys_cpu_utilization_rate) > 85
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### CouchbaseHighMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: CouchbaseHighMemoryUsage
+annotations:
+ description: '{{ printf "%.0f" $value }} percent memory usage on node {{$labels.instance}}
+ and on cluster {{$labels.couchbase_cluster}}, which is above the threshold of
+ 85.'
+ summary: There is a limited amount of memory available for a node.
+expr: |
+ 100 * (sys_mem_actual_used / clamp_min(sys_mem_actual_used + sys_mem_actual_free, 1)) > 85
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### CouchbaseMemoryEvictionRate
+
+{{< code lang="yaml" >}}
+alert: CouchbaseMemoryEvictionRate
+annotations:
+ description: '{{ printf "%.0f" $value }} evictions in bucket {{$labels.bucket}},
+ on node {{$labels.instance}}, and on cluster {{$labels.couchbase_cluster}}, which
+ is above the threshold of 10.'
+ summary: There is a spike in evictions in a bucket, which indicates high memory
+ pressure.
+expr: |
+ (kv_ep_num_value_ejects) > 10
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### CouchbaseInvalidRequestVolume
+
+{{< code lang="yaml" >}}
+alert: CouchbaseInvalidRequestVolume
+annotations:
+ description: '{{ printf "%.0f" $value }} invalid requests to {{$labels.couchbase_cluster}},
+ which is above the threshold of 1000.'
+ summary: There is a high volume of incoming invalid requests, which may indicate
+ a DOS or injection attack.
+expr: |
+ sum without(instance, job) (rate(n1ql_invalid_requests[2m])) > 1000
+for: 2m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [couchbase-bucket-overview](https://github.com/monitoring-mixins/website/blob/master/assets/couchbase/dashboards/couchbase-bucket-overview.json)
+- [couchbase-cluster-overview](https://github.com/monitoring-mixins/website/blob/master/assets/couchbase/dashboards/couchbase-cluster-overview.json)
+- [couchbase-node-overview](https://github.com/monitoring-mixins/website/blob/master/assets/couchbase/dashboards/couchbase-node-overview.json)
diff --git a/site/content/discourse/_index.md b/site/content/discourse/_index.md
new file mode 100644
index 0000000..260f09f
--- /dev/null
+++ b/site/content/discourse/_index.md
@@ -0,0 +1,58 @@
+---
+title: discourse
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/discourse-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/discourse/alerts.yaml).
+{{< /panel >}}
+
+### DiscourseAlerts
+
+##### DiscourseRequestsHigh5xxErrors
+
+{{< code lang="yaml" >}}
+alert: DiscourseRequestsHigh5xxErrors
+annotations:
+ description: '{{ printf "%.2f" $value }}% of all requests are resulting in 500 status
+ codes, which is above the threshold 10%, indicating a potentially larger issue
+ for {{$labels.instance}}'
+ summary: More than 10% of all requests result in a 5XX.
+expr: |
+ 100 * rate(discourse_http_requests{status="500"}[5m]) / on() group_left() (sum(rate(discourse_http_requests[5m])) by (instance)) > 10
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### DiscourseRequestsHigh4xxErrors
+
+{{< code lang="yaml" >}}
+alert: DiscourseRequestsHigh4xxErrors
+annotations:
+ description: '{{ printf "%.2f" $value }}% of all requests are resulting in 400 status
+ code, which is above the threshold 30%, indicating a potentially larger issue
+ for {{$labels.instance}}'
+ summary: More than 30% of all requests result in a 4XX.
+expr: |
+ 100 * rate(discourse_http_requests{status=~"^4.*"}[5m]) / on() group_left() (sum(rate(discourse_http_requests[5m])) by (instance)) > 30
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [discourse-jobs](https://github.com/monitoring-mixins/website/blob/master/assets/discourse/dashboards/discourse-jobs.json)
+- [discourse-overview](https://github.com/monitoring-mixins/website/blob/master/assets/discourse/dashboards/discourse-overview.json)
diff --git a/site/content/docker/_index.md b/site/content/docker/_index.md
new file mode 100644
index 0000000..f98382a
--- /dev/null
+++ b/site/content/docker/_index.md
@@ -0,0 +1,18 @@
+---
+title: docker
+---
+
+## Overview
+
+A set of Grafana dashboards for Docker (based on cadvisor).
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/docker-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [docker-logs](https://github.com/monitoring-mixins/website/blob/master/assets/docker/dashboards/docker-logs.json)
+- [docker](https://github.com/monitoring-mixins/website/blob/master/assets/docker/dashboards/docker.json)
diff --git a/site/content/elasticsearch/_index.md b/site/content/elasticsearch/_index.md
new file mode 100644
index 0000000..9d7b166
--- /dev/null
+++ b/site/content/elasticsearch/_index.md
@@ -0,0 +1,12 @@
+---
+title: elasticsearch
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/dockelasticsearcher-mixin)
+{{< /panel >}}
+
diff --git a/site/content/envoy/_index.md b/site/content/envoy/_index.md
new file mode 100644
index 0000000..72fb0be
--- /dev/null
+++ b/site/content/envoy/_index.md
@@ -0,0 +1,17 @@
+---
+title: envoy
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/envoy-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [envoy-overview](https://github.com/monitoring-mixins/website/blob/master/assets/envoy/dashboards/envoy-overview.json)
diff --git a/site/content/f5-bigip/_index.md b/site/content/f5-bigip/_index.md
new file mode 100644
index 0000000..3d098e3
--- /dev/null
+++ b/site/content/f5-bigip/_index.md
@@ -0,0 +1,92 @@
+---
+title: f5-bigip
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/f5-bigip-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/f5-bigip/alerts.yaml).
+{{< /panel >}}
+
+### bigip-alerts
+
+##### BigIPLowNodeAvailabilityStatus
+
+{{< code lang="yaml" >}}
+alert: BigIPLowNodeAvailabilityStatus
+annotations:
+ description: '{{ printf "%.0f" $value }} percent of available nodes, which is below
+ the threshold of 95.'
+ summary: Detecting a significant number of unavailable nodes which can causes potential
+ downtime or degraded performance.
+expr: |
+ 100 * (sum(bigip_node_status_availability_state) / clamp_min(count(bigip_node_status_availability_state), 1)) < 95
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### BigIPServerSideConnectionLimit
+
+{{< code lang="yaml" >}}
+alert: BigIPServerSideConnectionLimit
+annotations:
+ description: '{{ printf "%.0f" $value }} percent of the max number of connections
+ in use on node {{$labels.node}}, which is above the threshold of 80 percent.'
+ summary: Approaching the connection limit may lead to rejecting new connections,
+ impacting availability.
+expr: |
+ max without(instance, job) (100 * bigip_node_serverside_cur_conns / clamp_min(bigip_node_serverside_max_conns, 1)) > 80
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### BigIPHighRequestRate
+
+{{< code lang="yaml" >}}
+alert: BigIPHighRequestRate
+annotations:
+ description: '{{ printf "%.0f" $value }} percent increase in requests on pool {{$labels.pool}},
+ which is above the threshold of 150.'
+ summary: An unexpected spike in requests might indicate an issue like a DDoS attack
+ or unexpected high load.
+expr: |
+ max without(instance, job) (100 * rate(bigip_pool_tot_requests[10m]) / clamp_min(rate(bigip_pool_tot_requests[50m] offset 10m), 1)) > 150
+for: 10m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### BigIPHighConnectionQueueDepth
+
+{{< code lang="yaml" >}}
+alert: BigIPHighConnectionQueueDepth
+annotations:
+ description: '{{ printf "%.0f" $value }} percent increase in connection queue depth
+ on node {{$labels.pool}}, which is above the threshold of 75.'
+ summary: A sudden spike or sustained high queue depth may indicate a bottleneck
+ in handling incoming connections.
+expr: |
+ max without(instance, job) (100 * rate(bigip_pool_connq_depth[5m])) / clamp_min(rate(bigip_pool_connq_depth[50m] offset 10m), 1) > 75
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [bigip-cluster-overview](https://github.com/monitoring-mixins/website/blob/master/assets/f5-bigip/dashboards/bigip-cluster-overview.json)
+- [bigip-node-overview](https://github.com/monitoring-mixins/website/blob/master/assets/f5-bigip/dashboards/bigip-node-overview.json)
+- [bigip-pool-overview](https://github.com/monitoring-mixins/website/blob/master/assets/f5-bigip/dashboards/bigip-pool-overview.json)
+- [bigip-virtual-server-overview](https://github.com/monitoring-mixins/website/blob/master/assets/f5-bigip/dashboards/bigip-virtual-server-overview.json)
diff --git a/site/content/gitlab/_index.md b/site/content/gitlab/_index.md
new file mode 100644
index 0000000..b4d4460
--- /dev/null
+++ b/site/content/gitlab/_index.md
@@ -0,0 +1,95 @@
+---
+title: gitlab
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/gitlab-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/gitlab/alerts.yaml).
+{{< /panel >}}
+
+### GitLabAlerts
+
+##### GitLabHighJobRegistrationFailures
+
+{{< code lang="yaml" >}}
+alert: GitLabHighJobRegistrationFailures
+annotations:
+ description: '{{ printf "%.2f" $value }}% of job registrations have failed on {{$labels.instance}},
+ which is above threshold of 10%.'
+ summary: Large percentage of failed attempts to register a job.
+expr: "100 * rate(job_register_attempts_failed_total{}[5m]) / rate(job_register_attempts_total{}[5m])
+
+> 10
+"
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### GitLabHighRunnerAuthFailure
+
+{{< code lang="yaml" >}}
+alert: GitLabHighRunnerAuthFailure
+annotations:
+ description: '{{ printf "%.2f" $value }}% of GitLab runner authentication attempts
+ are failing on {{$labels.instance}}, which is above the threshold of 10%.'
+ summary: Large percentage of runner authentication failures.
+expr: "100 * sum by (instance) (rate(gitlab_ci_runner_authentication_failure_total{}[5m]))
+ \ /
+(sum by (instance) (rate(gitlab_ci_runner_authentication_success_total{}[5m]))
+ \ + sum by (instance) (rate(gitlab_ci_runner_authentication_failure_total{}[5m])))
+>
+ 10
+"
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### GitLabHigh5xxResponses
+
+{{< code lang="yaml" >}}
+alert: GitLabHigh5xxResponses
+annotations:
+ description: '{{ printf "%.2f" $value }}% of all requests returned 5XX HTTP responses,
+ which is above the threshold 10%, indicating a system issue on {{$labels.instance}}.'
+ summary: Large rate of HTTP 5XX errors.
+expr: "100 * sum by (instance) (rate(http_requests_total{status=~\"^5.*\"}[5m])) /
+ sum by (instance) (rate(http_requests_total{}[5m]))
+> 10
+"
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### GitLabHigh4xxResponses
+
+{{< code lang="yaml" >}}
+alert: GitLabHigh4xxResponses
+annotations:
+ description: '{{ printf "%.2f" $value }}% of all requests returned 4XX HTTP responses,
+ which is above the threshold 10%, indicating many failed requests on {{$labels.instance}}.'
+ summary: Large rate of HTTP 4XX errors.
+expr: |
+ 100 * sum by (instance) (rate(http_requests_total{status=~"^4.*"}[5m])) / sum by (instance) (rate(http_requests_total{}[5m]))
+ > 10
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [gitlab-overview](https://github.com/monitoring-mixins/website/blob/master/assets/gitlab/dashboards/gitlab-overview.json)
diff --git a/site/content/go-runtime/_index.md b/site/content/go-runtime/_index.md
new file mode 100644
index 0000000..71c210b
--- /dev/null
+++ b/site/content/go-runtime/_index.md
@@ -0,0 +1,17 @@
+---
+title: go-runtime
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/go-runtime-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [go-runtime](https://github.com/monitoring-mixins/website/blob/master/assets/go-runtime/dashboards/go-runtime.json)
diff --git a/site/content/haproxy/_index.md b/site/content/haproxy/_index.md
new file mode 100644
index 0000000..44d6e08
--- /dev/null
+++ b/site/content/haproxy/_index.md
@@ -0,0 +1,69 @@
+---
+title: haproxy
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/haproxy-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/haproxy/alerts.yaml).
+{{< /panel >}}
+
+### HAProxyAlerts
+
+##### HAProxyDroppingLogs
+
+{{< code lang="yaml" >}}
+alert: HAProxyDroppingLogs
+annotations:
+ description: HAProxy {{$labels.job}} on {{$labels.instance}} is dropping logs.
+ summary: HAProxy is dropping logs.
+expr: rate(haproxy_process_dropped_logs_total[5m]) != 0
+for: 5s
+labels:
+ severity: critical
+{{< /code >}}
+
+##### HAProxyBackendCheckFlapping
+
+{{< code lang="yaml" >}}
+alert: HAProxyBackendCheckFlapping
+annotations:
+ description: HAProxy {{$labels.job}} backend {{$labels.proxy}} on {{$labels.instance}}
+ has flapping checks.
+ summary: HAProxy backend checks are flapping.
+expr: rate(haproxy_backend_check_up_down_total[5m]) != 0
+for: 1m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### HAProxyServerCheckFlapping
+
+{{< code lang="yaml" >}}
+alert: HAProxyServerCheckFlapping
+annotations:
+ description: HAProxy {{$labels.job}} server {{$labels.server}} on {{$labels.instance}}
+ has flapping checks.
+ summary: HAProxy server checks are flapping.
+expr: rate(haproxy_server_check_up_down_total[5m]) != 0
+for: 1m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [haproxy-backend](https://github.com/monitoring-mixins/website/blob/master/assets/haproxy/dashboards/haproxy-backend.json)
+- [haproxy-frontend](https://github.com/monitoring-mixins/website/blob/master/assets/haproxy/dashboards/haproxy-frontend.json)
+- [haproxy-overview](https://github.com/monitoring-mixins/website/blob/master/assets/haproxy/dashboards/haproxy-overview.json)
+- [haproxy-server](https://github.com/monitoring-mixins/website/blob/master/assets/haproxy/dashboards/haproxy-server.json)
diff --git a/site/content/harbor/_index.md b/site/content/harbor/_index.md
new file mode 100644
index 0000000..77dec4e
--- /dev/null
+++ b/site/content/harbor/_index.md
@@ -0,0 +1,68 @@
+---
+title: harbor
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/harbor-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/harbor/alerts.yaml).
+{{< /panel >}}
+
+### Harbor
+
+##### HarborComponentStatus
+
+{{< code lang="yaml" >}}
+alert: HarborComponentStatus
+annotations:
+ description: Harbor {{ $labels.component }} has been down for more than 5 minutes
+ summary: Harbor Component is Down.
+expr: |
+ harbor_up == 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### HarborProjectQuataExceeded
+
+{{< code lang="yaml" >}}
+alert: HarborProjectQuataExceeded
+annotations:
+ description: Harbor project {{ $labels.project_name }} has exceeded the configured
+ disk usage quota for the past 15 minutes
+ summary: Harbor project exceeds disk usage quota.
+expr: |
+ harbor_project_quota_usage_byte > harbor_project_quota_byte and on(harbor_project_quota_usage_byte) harbor_project_quota_byte != -1
+for: 15m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### HarborHighErrorRate
+
+{{< code lang="yaml" >}}
+alert: HarborHighErrorRate
+annotations:
+ description: HTTP Requests of {{ $labels.instance }} are having a high Error rate
+ summary: Harbor high error rate.
+expr: sum(rate(harbor_core_http_request_total{code=~"4..|5.."}[5m]))/sum(rate(harbor_core_http_request_total[5m]))
+ > 0.15
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [harbor-overview](https://github.com/monitoring-mixins/website/blob/master/assets/harbor/dashboards/harbor-overview.json)
diff --git a/site/content/hass/_index.md b/site/content/hass/_index.md
new file mode 100644
index 0000000..f741584
--- /dev/null
+++ b/site/content/hass/_index.md
@@ -0,0 +1,17 @@
+---
+title: hass
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/hass-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [hass](https://github.com/monitoring-mixins/website/blob/master/assets/hass/dashboards/hass.json)
diff --git a/site/content/ibm-mq/_index.md b/site/content/ibm-mq/_index.md
new file mode 100644
index 0000000..e2be836
--- /dev/null
+++ b/site/content/ibm-mq/_index.md
@@ -0,0 +1,89 @@
+---
+title: ibm-mq
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/ibm-mq-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/ibm-mq/alerts.yaml).
+{{< /panel >}}
+
+### ibm-mq-alerts
+
+##### IBMMQExpiredMessages
+
+{{< code lang="yaml" >}}
+alert: IBMMQExpiredMessages
+annotations:
+ description: The number of expired messages in the {{$labels.qmgr}} is {{$labels.value}}
+ which is above the threshold of 2.
+ summary: There are expired messages, which imply that application resilience is
+ failing.
+expr: |
+ sum without (description,hostname,instance,job,platform) (ibmmq_qmgr_expired_message_count) > 2
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### IBMMQStaleMessages
+
+{{< code lang="yaml" >}}
+alert: IBMMQStaleMessages
+annotations:
+ description: A stale message with an age of {{$labels.value}} has been sitting in
+ the {{$labels.queue}} which is above the threshold of 300s.
+ summary: Stale messages have been detected.
+expr: |
+ sum without (description,instance,job,platform) (ibmmq_queue_oldest_message_age) >= 300
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### IBMMQLowDiskSpace
+
+{{< code lang="yaml" >}}
+alert: IBMMQLowDiskSpace
+annotations:
+ description: The amount of disk space available for {{$labels.qmgr}} is at {{$labels.value}}%
+ which is below the threshold of 5%.
+ summary: There is limited disk available for a queue manager.
+expr: |
+ sum without (description,hostname,instance,job,platform) (ibmmq_qmgr_queue_manager_file_system_free_space_percentage) <= 5
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### IBMMQHighQueueManagerCpuUsage
+
+{{< code lang="yaml" >}}
+alert: IBMMQHighQueueManagerCpuUsage
+annotations:
+ description: The amount of CPU usage for the queue manager {{$labels.qmgr}} is at
+ {{$labels.value}}% which is above the threshold of 85%.
+ summary: There is a high CPU usage estimate for a queue manager.
+expr: |
+ sum without (description,hostname,instance,job,platform) (ibmmq_qmgr_user_cpu_time_estimate_for_queue_manager_percentage) >= 85
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [ibm-mq-cluster-overview](https://github.com/monitoring-mixins/website/blob/master/assets/ibm-mq/dashboards/ibm-mq-cluster-overview.json)
+- [ibm-mq-queue-manager-overview](https://github.com/monitoring-mixins/website/blob/master/assets/ibm-mq/dashboards/ibm-mq-queue-manager-overview.json)
+- [ibm-mq-queue-overview](https://github.com/monitoring-mixins/website/blob/master/assets/ibm-mq/dashboards/ibm-mq-queue-overview.json)
+- [ibm-mq-topics-overview](https://github.com/monitoring-mixins/website/blob/master/assets/ibm-mq/dashboards/ibm-mq-topics-overview.json)
diff --git a/site/content/influxdb/_index.md b/site/content/influxdb/_index.md
new file mode 100644
index 0000000..7edbe9b
--- /dev/null
+++ b/site/content/influxdb/_index.md
@@ -0,0 +1,125 @@
+---
+title: influxdb
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/influxdb-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/influxdb/alerts.yaml).
+{{< /panel >}}
+
+### influxdb
+
+##### InfluxDBWarningTaskSchedulerHighFailureRate
+
+{{< code lang="yaml" >}}
+alert: InfluxDBWarningTaskSchedulerHighFailureRate
+annotations:
+ description: Task scheduler task executions for instance {{$labels.instance}} on
+ cluster {{$labels.influxdb_cluster}} are failing at a rate of {{ printf "%.0f"
+ $value }} percent, which is above the threshold of 25 percent.
+ summary: Automated data processing tasks are failing at a high rate.
+expr: |
+ 100 * rate(task_scheduler_total_execute_failure[5m])/clamp_min(rate(task_scheduler_total_execution_calls[5m]), 1) >= 25
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### InfluxDBCriticalTaskSchedulerHighFailureRate
+
+{{< code lang="yaml" >}}
+alert: InfluxDBCriticalTaskSchedulerHighFailureRate
+annotations:
+ description: Task scheduler task executions for instance {{$labels.instance}} on
+ cluster {{$labels.influxdb_cluster}} are failing at a rate of {{ printf "%.0f"
+ $value }} percent, which is above the threshold of 50 percent.
+ summary: Automated data processing tasks are failing at a critical rate.
+expr: |
+ 100 * rate(task_scheduler_total_execute_failure[5m])/clamp_min(rate(task_scheduler_total_execution_calls[5m]), 1) >= 50
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### InfluxDBHighBusyWorkerPercentage
+
+{{< code lang="yaml" >}}
+alert: InfluxDBHighBusyWorkerPercentage
+annotations:
+ description: The busy worker percentage for instance {{$labels.instance}} on cluster
+ {{$labels.influxdb_cluster}} is {{ printf "%.0f" $value }} percent, which is above
+ the threshold of 80 percent.
+ summary: There is a high percentage of busy workers.
+expr: |
+ task_executor_workers_busy >= 80
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### InfluxDBHighHeapMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: InfluxDBHighHeapMemoryUsage
+annotations:
+ description: The heap memory usage for instance {{$labels.instance}} on cluster
+ {{$labels.influxdb_cluster}} is {{ printf "%.0f" $value }} percent, which is above
+ the threshold of 80 percent.
+ summary: There is a high amount of heap memory being used.
+expr: |
+ 100 * go_memstats_heap_alloc_bytes/clamp_min((go_memstats_heap_idle_bytes + go_memstats_heap_alloc_bytes), 1) >= 80
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### InfluxDBHighAverageAPIRequestLatency
+
+{{< code lang="yaml" >}}
+alert: InfluxDBHighAverageAPIRequestLatency
+annotations:
+ description: The average API request latency for instance {{$labels.instance}} on
+ cluster {{$labels.influxdb_cluster}} is {{ printf "%.2f" $value }} seconds, which
+ is above the threshold of 0.29999999999999999 seconds.
+ summary: Average API request latency is too high. High latency will negatively affect
+ system performance, degrading data availability and precision.
+expr: |
+ sum without(handler, method, path, response_code, status, user_agent) (increase(http_api_request_duration_seconds_sum[5m])/clamp_min(increase(http_api_requests_total[5m]), 1)) >= 0.29999999999999999
+for: 1m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### InfluxDBSlowAverageIQLExecutionTime
+
+{{< code lang="yaml" >}}
+alert: InfluxDBSlowAverageIQLExecutionTime
+annotations:
+ description: The average InfluxQL query execution time for instance {{$labels.instance}}
+ on cluster {{$labels.influxdb_cluster}} is {{ printf "%.2f" $value }} seconds,
+ which is above the threshold of 0.10000000000000001 seconds.
+ summary: InfluxQL execution times are too slow. Slow query execution times will
+ negatively affect system performance, degrading data availability and precision.
+expr: |
+ sum without(result) (increase(influxql_service_executing_duration_seconds_sum[5m])/clamp_min(increase(influxql_service_requests_total[5m]), 1)) >= 0.10000000000000001
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [influxdb-cluster-overview](https://github.com/monitoring-mixins/website/blob/master/assets/influxdb/dashboards/influxdb-cluster-overview.json)
+- [influxdb-instance-overview](https://github.com/monitoring-mixins/website/blob/master/assets/influxdb/dashboards/influxdb-instance-overview.json)
+- [influxdb-logs](https://github.com/monitoring-mixins/website/blob/master/assets/influxdb/dashboards/influxdb-logs.json)
diff --git a/site/content/istio/_index.md b/site/content/istio/_index.md
new file mode 100644
index 0000000..0f7ad98
--- /dev/null
+++ b/site/content/istio/_index.md
@@ -0,0 +1,138 @@
+---
+title: istio
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/istio-2-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/istio/alerts.yaml).
+{{< /panel >}}
+
+### istio-alerts-istio
+
+##### IstioHighRequestLatencyWarning
+
+{{< code lang="yaml" >}}
+alert: IstioHighRequestLatencyWarning
+annotations:
+ description: |
+ Requests from Istio service {{$labels.source_canonical_service}} to service {{$labels.destination_canonical_service}} on cluster {{$labels.cluster}} has an average latency of {{ printf "%.0f" $value }}ms, which is above the threshold of 4000.
+ summary: High request latency between pods can indicate that there are performance
+ issues within the k8s environment.
+expr: |
+ sum without(connection_security_policy, destination_app, destination_canonical_revision, destination_service_name, destination_cluster, destination_principal, destination_service, destination_service_namespace, destination_version, destination_workload, destination_workload_namespace, grpc_response_status, instance, pod, reporter, request_protocol, response_code, response_flags, source_app, source_canonical_revision, source_cluster, source_principal, source_version, source_workload, source_workload_namespace) (increase(istio_request_duration_milliseconds_sum{job=~"integrations/istio", reporter="source"}[5m]))
+ /
+ clamp_min(sum without(connection_security_policy, destination_app, destination_canonical_revision, destination_service_name, destination_cluster, destination_principal, destination_service, destination_service_namespace, destination_version, destination_workload, destination_workload_namespace, grpc_response_status, instance, pod, reporter, request_protocol, response_code, response_flags, source_app, source_canonical_revision, source_cluster, source_principal, source_version, source_workload, source_workload_namespace) (increase(istio_request_duration_milliseconds_count{job=~"integrations/istio", reporter="source"}[5m])), 1) > 4000
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### IstioGalleyValidationFailuresWarning
+
+{{< code lang="yaml" >}}
+alert: IstioGalleyValidationFailuresWarning
+annotations:
+ description: |
+ {{$labels.pod}} on cluster {{$labels.cluster}} has had {{ printf "%.0f" $value }} Galley validation failures, which is above the thresold of 0.
+ summary: Istio Galley is reporting failures for a number of configurations.
+expr: |
+ sum without(instance) (increase(galley_validation_failed{job=~"integrations/istio", pod=~"istiod.*"}[5m])) > 0
+for: 1m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### IstioListenerConfigConflictsCritical
+
+{{< code lang="yaml" >}}
+alert: IstioListenerConfigConflictsCritical
+annotations:
+ description: |
+ {{$labels.pod}} on cluster {{$labels.cluster}} has had {{ printf "%.0f" $value }} inbound and or outbound listener conflicts reported from envoy proxies, which is above the threshold of 0.
+ summary: Istio Pilot is seeing a number of inbound and or outbound listener conflicts
+ by envoy proxies.
+expr: |
+ sum without(instance) (increase(pilot_conflict_inbound_listener{job=~"integrations/istio", pod=~"istiod.*"}[5m])) + sum without(instance) (increase(pilot_conflict_outbound_listener_tcp_over_current_tcp{job=~"integrations/istio", pod=~"istiod.*"}[5m])) > 0
+for: 1m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### IstioXDSConfigRejectionsWarning
+
+{{< code lang="yaml" >}}
+alert: IstioXDSConfigRejectionsWarning
+annotations:
+ description: |
+ {{$labels.pod}} on cluster {{$labels.cluster}} has had {{ printf "%.0f" $value }} xDS rejections from envoy proxies, which is above the threshold of 0.
+ summary: Istio Pilot is seeing a number of xDS rejections from envoy proxies.
+expr: |
+ sum without(instance) (increase(pilot_total_xds_rejects{job=~"integrations/istio", pod=~"istiod.*"}[5m])) > 0
+for: 1m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### IstioHighHTTPRequestErrorsCritical
+
+{{< code lang="yaml" >}}
+alert: IstioHighHTTPRequestErrorsCritical
+annotations:
+ description: |
+ HTTP requests from Istio service {{$labels.source_canonical_service}} to service {{$labels.destination_canonical_service}} on cluster {{$labels.cluster}} have an error rate above {{ printf "%.0f" $value }}%, which is above the threshold of 5%.
+ summary: There are a high number of HTTP request errors in the Istio system.
+expr: |
+ 100 * sum without(connection_security_policy, destination_app, destination_canonical_revision, destination_service_name, destination_cluster, destination_principal, destination_service, destination_service_namespace, destination_version, destination_workload, destination_workload_namespace, grpc_response_status, instance, pod, reporter, request_protocol, response_code, response_flags, source_app, source_canonical_revision, source_cluster, source_principal, source_version, source_workload, source_workload_namespace) (increase(istio_requests_total{job=~"integrations/istio", reporter="source", request_protocol="http", response_code=~"[45].+"}[5m]))
+ /
+ clamp_min(sum without(connection_security_policy, destination_app, destination_canonical_revision, destination_service_name, destination_cluster, destination_principal, destination_service, destination_service_namespace, destination_version, destination_workload, destination_workload_namespace, grpc_response_status, instance, pod, reporter, request_protocol, response_code, response_flags, source_app, source_canonical_revision, source_cluster, source_principal, source_version, source_workload, source_workload_namespace) (increase(istio_requests_total{job=~"integrations/istio", reporter="source", request_protocol="http"}[5m])), 1) > 5
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### IstioHighGRPCRequestErrorsCritical
+
+{{< code lang="yaml" >}}
+alert: IstioHighGRPCRequestErrorsCritical
+annotations:
+ description: |
+ GRPC requests from Istio service {{$labels.source_canonical_service}} to service {{$labels.destination_canonical_service}} on cluster {{$labels.cluster}} have an error rate above {{ printf "%.0f" $value }}%, which is above the threshold of 5%.
+ summary: There are a high number of GRPC request errors in the Istio system.
+expr: |
+ 100 * sum without(connection_security_policy, destination_app, destination_canonical_revision, destination_service_name, destination_cluster, destination_principal, destination_service, destination_service_namespace, destination_version, destination_workload, destination_workload_namespace, grpc_response_status, instance, pod, reporter, request_protocol, response_code, response_flags, source_app, source_canonical_revision, source_cluster, source_principal, source_version, source_workload, source_workload_namespace) (increase(istio_requests_total{job=~"integrations/istio", reporter="source", grpc_response_status=~"[1-9]\d*"}[5m]))
+ /
+ clamp_min(sum without(connection_security_policy, destination_app, destination_canonical_revision, destination_service_name, destination_cluster, destination_principal, destination_service, destination_service_namespace, destination_version, destination_workload, destination_workload_namespace, grpc_response_status, instance, pod, reporter, request_protocol, response_code, response_flags, source_app, source_canonical_revision, source_cluster, source_principal, source_version, source_workload, source_workload_namespace) (increase(istio_requests_total{job=~"integrations/istio", reporter="source", grpc_response_status=~"[0-9]\d*"}[5m])), 1) > 5
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### IstioMetricsDown
+
+{{< code lang="yaml" >}}
+alert: IstioMetricsDown
+annotations:
+ description: There are no available metrics for Istio integration from pod {{$labels.pod}}
+ in cluster {{$labels.cluster}}.
+ summary: Istio metrics are down.
+expr: |
+ up{job=~"integrations/istio"} == 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [*](https://github.com/monitoring-mixins/website/blob/master/assets/istio/dashboards/*.json)
diff --git a/site/content/jenkins/_index.md b/site/content/jenkins/_index.md
new file mode 100644
index 0000000..061e395
--- /dev/null
+++ b/site/content/jenkins/_index.md
@@ -0,0 +1,17 @@
+---
+title: jenkins
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/jenkins-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [jenkins](https://github.com/monitoring-mixins/website/blob/master/assets/jenkins/dashboards/jenkins.json)
diff --git a/site/content/jira/_index.md b/site/content/jira/_index.md
new file mode 100644
index 0000000..a06a194
--- /dev/null
+++ b/site/content/jira/_index.md
@@ -0,0 +1,77 @@
+---
+title: jira
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/jira-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/jira/alerts.yaml).
+{{< /panel >}}
+
+### alert.rules
+
+##### LicenseExpired
+
+{{< code lang="yaml" >}}
+alert: LicenseExpired
+annotations:
+ description: The JIRA license has expired.
+ summary: JIRA license expired.
+expr: jira_license_expiry_days_gauge <= 0
+for: 1m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### LicenseWarning
+
+{{< code lang="yaml" >}}
+alert: LicenseWarning
+annotations:
+ description: The JIRA license will expire in less than one week.
+ summary: License expiring soon.
+expr: jira_license_expiry_days_gauge <= 7 and jira_license_expiry_days_gauge > 0
+for: 1m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### NoUserCapacity
+
+{{< code lang="yaml" >}}
+alert: NoUserCapacity
+annotations:
+ description: There is no more capacity for additional users to be added to the system.
+ summary: All available accounts are taken.
+expr: jira_all_users_gauge/jira_allowed_users_gauge == 1
+for: 1m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### EmailErrorsHigh
+
+{{< code lang="yaml" >}}
+alert: EmailErrorsHigh
+annotations:
+ description: More than 1% of emails have resulted in an error in the past minute.
+ summary: Email errors are high.
+expr: jira_mail_queue_error_gauge /jira_mail_queue_gauge > 0.01
+for: 1m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [jira-overview](https://github.com/monitoring-mixins/website/blob/master/assets/jira/dashboards/jira-overview.json)
diff --git a/site/content/jvm/_index.md b/site/content/jvm/_index.md
new file mode 100644
index 0000000..c135fe0
--- /dev/null
+++ b/site/content/jvm/_index.md
@@ -0,0 +1,40 @@
+---
+title: jvm
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/jvm-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/jvm/alerts.yaml).
+{{< /panel >}}
+
+### jvm
+
+##### JvmMemoryFillingUp
+
+{{< code lang="yaml" >}}
+alert: JvmMemoryFillingUp
+annotations:
+ description: JVM memory usage is at {{ printf "%%.0f" $value }} percent over the
+ last 5 minutes on {{$labels.instance}}, which is above the threshold of 80%.
+ summary: JVM memory filling up.
+expr: |
+ jvm_memory_bytes_used / jvm_memory_bytes_max{area="heap"} > 0.8
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [jvm-dashboard](https://github.com/monitoring-mixins/website/blob/master/assets/jvm/dashboards/jvm-dashboard.json)
diff --git a/site/content/kafka/_index.md b/site/content/kafka/_index.md
new file mode 100644
index 0000000..f1ba6c5
--- /dev/null
+++ b/site/content/kafka/_index.md
@@ -0,0 +1,169 @@
+---
+title: kafka
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/kafka-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/kafka/alerts.yaml).
+{{< /panel >}}
+
+### Kafka_Alerts
+
+##### KafkaOfflinePartitonCount
+
+{{< code lang="yaml" >}}
+alert: KafkaOfflinePartitonCount
+annotations:
+ description: Kafka cluster {{ $labels.kafka_cluster }} has {{ $value }} offline
+ partitions. After successful leader election, if the leader for partition dies,
+ then the partition moves to the OfflinePartition state. Offline partitions are
+ not available for reading and writing. Restart the brokers, if needed, and check
+ the logs for errors.
+ summary: Kafka has offline partitons.
+expr: sum without(instance) (kafka_controller_kafkacontroller_offlinepartitionscount{job="integrations/kafka"})
+ > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### KafkaUnderReplicatedPartitionCount
+
+{{< code lang="yaml" >}}
+alert: KafkaUnderReplicatedPartitionCount
+annotations:
+ description: Kafka instance {{ $labels.instance }} in cluster {{ $labels.kafka_cluster
+ }} has {{ $value }} under replicated partitons
+ summary: Kafka has under replicated partitons.
+expr: |
+ sum without() (kafka_server_replicamanager_underreplicatedpartitions{job="integrations/kafka"}) > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### KafkaActiveController
+
+{{< code lang="yaml" >}}
+alert: KafkaActiveController
+annotations:
+ description: Kafka cluster {{ $labels.kafka_cluster }} has {{ $value }} broker(s)
+ reporting as the active controller in the last 5 minute interval. During steady
+ state there should be only one active controller per cluster.
+ summary: Kafka has no active controller.
+expr: sum without(instance) (kafka_controller_kafkacontroller_activecontrollercount{job="integrations/kafka"})
+ != 1
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### KafkaUncleanLeaderElection
+
+{{< code lang="yaml" >}}
+alert: KafkaUncleanLeaderElection
+annotations:
+ description: Kafka cluster {{ $labels.kafka_cluster }} has {{ $value }} unclean
+ partition leader elections reported in the last 5 minute interval. When unclean
+ leader election is held among out-of-sync replicas, there is a possibility of
+ data loss if any messages were not synced prior to the loss of the former leader.
+ So if the number of unclean elections is greater than 0, investigate broker logs
+ to determine why leaders were re-elected, and look for WARN or ERROR messages.
+ Consider setting the broker configuration parameter unclean.leader.election.enable
+ to false so that a replica outside of the set of in-sync replicas is never elected
+ leader.
+ summary: Kafka has unclean leader elections.
+expr: max without(instance) (rate(kafka_controller_controllerstats_uncleanleaderelectionspersec{job="integrations/kafka"}[5m]))
+ != 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### KafkaISRExpandRate
+
+{{< code lang="yaml" >}}
+alert: KafkaISRExpandRate
+annotations:
+ description: Kafka instance {{ $labels.instance }} in cluster {{ $labels.kafka_cluster
+ }} ISR is expanding by {{ $value }} per second. If a broker goes down, ISR for
+ some of the partitions shrink. When that broker is up again, ISRs are expanded
+ once the replicas are fully caught up. Other than that, the expected value for
+ ISR expansion rate is 0. If ISR is expanding and shrinking frequently, adjust
+ Allowed replica lag.
+ summary: Kafka ISR Expansion Rate is expanding.
+expr: |
+ sum without() (rate(kafka_server_replicamanager_isrexpandspersec{job="integrations/kafka"}[5m])) != 0
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### KafkaISRShrinkRate
+
+{{< code lang="yaml" >}}
+alert: KafkaISRShrinkRate
+annotations:
+ description: Kafka instance {{ $labels.instance }} in cluster {{ $labels.kafka_cluster
+ }} ISR is shrinking by {{ $value }} per second. If a broker goes down, ISR for
+ some of the partitions shrink. When that broker is up again, ISRs are expanded
+ once the replicas are fully caught up. Other than that, the expected value for
+ ISR shrink rate is 0. If ISR is expanding and shrinking frequently, adjust Allowed
+ replica lag.
+ summary: Kafka ISR Expansion Rate is shrinking.
+expr: |
+ sum without() (rate(kafka_server_replicamanager_isrshrinkspersec{job="integrations/kafka"}[5m])) != 0
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### KafkaBrokerCount
+
+{{< code lang="yaml" >}}
+alert: KafkaBrokerCount
+annotations:
+ description: Kafka cluster {{ $labels.kafka_cluster }} broker count is 0.
+ summary: Kafka has no Brokers online.
+expr: count without(instance) (kafka_server_kafkaserver_brokerstate{job="integrations/kafka"})
+ == 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### KafkaZookeeperSyncConnect
+
+{{< code lang="yaml" >}}
+alert: KafkaZookeeperSyncConnect
+annotations:
+ description: Kafka instance {{ $labels.instance }} in cluster {{ $labels.kafka_cluster
+ }} Zookeeper Sync Disconected.
+ summary: Kafka Zookeeper Sync Disconected.
+expr: |
+ avg without() (kafka_server_sessionexpirelistener_zookeepersyncconnectspersec{job="integrations/kafka"}) < 0
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [connect-overview](https://github.com/monitoring-mixins/website/blob/master/assets/kafka/dashboards/connect-overview.json)
+- [kafka-ksqldb-overview](https://github.com/monitoring-mixins/website/blob/master/assets/kafka/dashboards/kafka-ksqldb-overview.json)
+- [kafka-lag-overview](https://github.com/monitoring-mixins/website/blob/master/assets/kafka/dashboards/kafka-lag-overview.json)
+- [kafka-overview](https://github.com/monitoring-mixins/website/blob/master/assets/kafka/dashboards/kafka-overview.json)
+- [kafka-topics](https://github.com/monitoring-mixins/website/blob/master/assets/kafka/dashboards/kafka-topics.json)
+- [schema-registry-overview](https://github.com/monitoring-mixins/website/blob/master/assets/kafka/dashboards/schema-registry-overview.json)
+- [zookeeper-overview](https://github.com/monitoring-mixins/website/blob/master/assets/kafka/dashboards/zookeeper-overview.json)
diff --git a/site/content/microsoft-iis/_index.md b/site/content/microsoft-iis/_index.md
new file mode 100644
index 0000000..3c06f47
--- /dev/null
+++ b/site/content/microsoft-iis/_index.md
@@ -0,0 +1,101 @@
+---
+title: microsoft-iis
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/microsoft-iis-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/microsoft-iis/alerts.yaml).
+{{< /panel >}}
+
+### microsoft-iis
+
+##### MicrosoftIISHighNumberOfRejectedAsyncIORequests
+
+{{< code lang="yaml" >}}
+alert: MicrosoftIISHighNumberOfRejectedAsyncIORequests
+annotations:
+ description: |
+ The number of rejected async IO requests is {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} - {{ $labels.site }} which is above the threshold of 20.
+ summary: There are a high number of rejected async I/O requests for a site.
+expr: |
+ increase(windows_iis_rejected_async_io_requests_total[5m]) > 20
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### MicrosoftIISHighNumberOf5xxRequestErrors
+
+{{< code lang="yaml" >}}
+alert: MicrosoftIISHighNumberOf5xxRequestErrors
+annotations:
+ description: |
+ The number of 5xx request errors is {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} - {{ $labels.app }} which is above the threshold of 5.
+ summary: There are a high number of 5xx request errors for an application.
+expr: |
+ sum without (pid, status_code)(increase(windows_iis_worker_request_errors_total{status_code=~"5.*"}[5m])) > 5
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### MicrosoftIISLowSuccessRateForWebsocketConnections
+
+{{< code lang="yaml" >}}
+alert: MicrosoftIISLowSuccessRateForWebsocketConnections
+annotations:
+ description: |
+ The success rate for websocket connections is {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} - {{ $labels.app }} which is above the threshold of 80.
+ summary: There is a low success rate for websocket connections for an application.
+expr: |
+ sum without (pid) (increase(windows_iis_worker_websocket_connection_accepted_total[5m]) / clamp_min(increase(windows_iis_worker_websocket_connection_attempts_total[5m]),1)) * 100 > 80
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### MicrosoftIISThreadpoolUtilizationNearingMax
+
+{{< code lang="yaml" >}}
+alert: MicrosoftIISThreadpoolUtilizationNearingMax
+annotations:
+ description: |
+ The threadpool utilization is at {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} - {{ $labels.app }} which is above the threshold of 90.
+ summary: The thread pool utilization is nearing max capacity.
+expr: |
+ sum without (pid, state)(windows_iis_worker_threads / windows_iis_worker_max_threads) * 100 > 90
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### MicrosoftIISHighNumberOfWorkerProcessFailures
+
+{{< code lang="yaml" >}}
+alert: MicrosoftIISHighNumberOfWorkerProcessFailures
+annotations:
+ description: |
+ The number of worker process failures is at {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} - {{ $labels.app }} which is above the threshold of 10.
+ summary: There are a high number of worker process failures for an application.
+expr: |
+ increase(windows_iis_total_worker_process_failures[5m]) > 10
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [microsoft-iis-applications](https://github.com/monitoring-mixins/website/blob/master/assets/microsoft-iis/dashboards/microsoft-iis-applications.json)
+- [microsoft-iis-overview](https://github.com/monitoring-mixins/website/blob/master/assets/microsoft-iis/dashboards/microsoft-iis-overview.json)
diff --git a/site/content/mongodb-atlas/_index.md b/site/content/mongodb-atlas/_index.md
new file mode 100644
index 0000000..620ab2b
--- /dev/null
+++ b/site/content/mongodb-atlas/_index.md
@@ -0,0 +1,221 @@
+---
+title: mongodb-atlas
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/mongodb-atlas-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/mongodb-atlas/alerts.yaml).
+{{< /panel >}}
+
+### mongodb-atlas-alerts
+
+##### MongoDBAtlasHighNumberOfCollectionExclusiveDeadlocks
+
+{{< code lang="yaml" >}}
+alert: MongoDBAtlasHighNumberOfCollectionExclusiveDeadlocks
+annotations:
+ description: The number of collection exclusive-lock deadlocks occurring on node
+ {{$labels.instance}} in cluster {{$labels.cl_name}} is {{printf "%.0f" $value}}
+ which is above the threshold of 10.
+ summary: There is a high number of collection exclusive deadlocks occurring.
+expr: |
+ sum without(cl_role,process_port,rs_nm,rs_state) (increase(mongodb_locks_Collection_deadlockCount_W[5m])) > 10
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### MongoDBAtlasHighNumberOfCollectionIntentExclusiveDeadlocks
+
+{{< code lang="yaml" >}}
+alert: MongoDBAtlasHighNumberOfCollectionIntentExclusiveDeadlocks
+annotations:
+ description: The number of collection intent-exclusive-lock deadlocks occurring
+ on node {{$labels.instance}} in cluster {{$labels.cl_name}} is {{printf "%.0f"
+ $value}} which is above the threshold of 10.
+ summary: There is a high number of collection intent-exclusive deadlocks occurring.
+expr: |
+ sum without(cl_role,process_port,rs_nm,rs_state) (increase(mongodb_locks_Collection_deadlockCount_w[5m])) > 10
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### MongoDBAtlasHighNumberOfCollectionSharedDeadlocks
+
+{{< code lang="yaml" >}}
+alert: MongoDBAtlasHighNumberOfCollectionSharedDeadlocks
+annotations:
+ description: The number of collection shared-lock deadlocks occurring on node {{$labels.instance}}
+ in cluster {{$labels.cl_name}} is {{printf "%.0f" $value}} which is above the
+ threshold of 10.
+ summary: There is a high number of collection shared deadlocks occurring.
+expr: |
+ sum without(cl_role,process_port,rs_nm,rs_state) (increase(mongodb_locks_Collection_deadlockCount_R[5m])) > 10
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### MongoDBAtlasHighNumberOfCollectionIntentSharedDeadlocks
+
+{{< code lang="yaml" >}}
+alert: MongoDBAtlasHighNumberOfCollectionIntentSharedDeadlocks
+annotations:
+ description: The number of collection intent-shared-lock deadlocks occurring on
+ node {{$labels.instance}} in cluster {{$labels.cl_name}} is {{printf "%.0f" $value}}
+ which is above the threshold of 10.
+ summary: There is a high number of collection intent-shared deadlocks occurring.
+expr: |
+ sum without(cl_role,process_port,rs_nm,rs_state) (increase(mongodb_locks_Collection_deadlockCount_r[5m])) > 10
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### MongoDBAtlasHighNumberOfDatabaseExclusiveDeadlocks
+
+{{< code lang="yaml" >}}
+alert: MongoDBAtlasHighNumberOfDatabaseExclusiveDeadlocks
+annotations:
+ description: The number of database exclusive-lock deadlocks occurring on node {{$labels.instance}}
+ in cluster {{$labels.cl_name}} is {{printf "%.0f" $value}} which is above the
+ threshold of 10.
+ summary: There is a high number of database exclusive deadlocks occurring.
+expr: |
+ sum without(cl_role,process_port,rs_nm,rs_state) (increase(mongodb_locks_Database_deadlockCount_W[5m])) > 10
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### MongoDBAtlasHighNumberOfDatabaseIntentExclusiveDeadlocks
+
+{{< code lang="yaml" >}}
+alert: MongoDBAtlasHighNumberOfDatabaseIntentExclusiveDeadlocks
+annotations:
+ description: The number of database intent-exclusive-lock deadlocks occurring on
+ node {{$labels.instance}} in cluster {{$labels.cl_name}} is {{printf "%.0f" $value}}
+ which is above the threshold of 10.
+ summary: There is a high number of database intent-exclusive deadlocks occurring.
+expr: |
+ sum without(cl_role,process_port,rs_nm,rs_state) (increase(mongodb_locks_Database_deadlockCount_w[5m])) > 10
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### MongoDBAtlasHighNumberOfDatabaseSharedDeadlocks
+
+{{< code lang="yaml" >}}
+alert: MongoDBAtlasHighNumberOfDatabaseSharedDeadlocks
+annotations:
+ description: The number of database shared-lock deadlocks occurring on node {{$labels.instance}}
+ in cluster {{$labels.cl_name}} is {{printf "%.0f" $value}} which is above the
+ threshold of 10.
+ summary: There is a high number of database shared deadlocks occurring.
+expr: |
+ sum without(cl_role,process_port,rs_nm,rs_state) (increase(mongodb_locks_Database_deadlockCount_R[5m])) > 10
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### MongoDBAtlasHighNumberOfDatabaseIntentSharedDeadlocks
+
+{{< code lang="yaml" >}}
+alert: MongoDBAtlasHighNumberOfDatabaseIntentSharedDeadlocks
+annotations:
+ description: The number of database intent-shared-lock deadlocks occurring on node
+ {{$labels.instance}} in cluster {{$labels.cl_name}} is {{printf "%.0f" $value}}
+ which is above the threshold of 10.
+ summary: There is a high number of database intent-shared deadlocks occurring.
+expr: |
+ sum without(cl_role,process_port,rs_nm,rs_state) (increase(mongodb_locks_Database_deadlockCount_r[5m])) > 10
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### MongoDBAtlasHighNumberOfSlowNetworkRequests
+
+{{< code lang="yaml" >}}
+alert: MongoDBAtlasHighNumberOfSlowNetworkRequests
+annotations:
+ description: The number of DNS and SSL operations taking more than 1 second to complete
+ on node {{$labels.instance}} in cluster {{$labels.cl_name}} is {{printf "%.0f"
+ $value}} which is above the threshold of 10.
+ summary: There is a high number of slow network requests.
+expr: |
+ sum without (cl_role,rs_nm,rs_state,process_port) (increase(mongodb_network_numSlowSSLOperations[5m])) + sum without (cl_role,rs_nm,rs_state,process_port) (increase(mongodb_network_numSlowDNSOperations[5m])) > 10
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### MongoDBAtlasDiskSpaceLow
+
+{{< code lang="yaml" >}}
+alert: MongoDBAtlasDiskSpaceLow
+annotations:
+ description: The amount of hardware disk space being used on node {{$labels.instance}}
+ in cluster {{$labels.cl_name}} is {{printf "%.0f" $value}}% which is above the
+ threshold of 90%.
+ summary: Hardware is running out of disk space.
+expr: |
+ 100 * ((sum without (disk_name) (hardware_disk_metrics_disk_space_used_bytes)) / clamp_min((sum without (disk_name) (hardware_disk_metrics_disk_space_used_bytes)) + (sum without (disk_name) (hardware_disk_metrics_disk_space_free_bytes)), 1)) > 90
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### MongoDBAtlasSlowHardwareIO
+
+{{< code lang="yaml" >}}
+alert: MongoDBAtlasSlowHardwareIO
+annotations:
+ description: The latency time for read and write I/Os on node {{$labels.instance}}
+ in cluster {{$labels.cl_name}} is {{printf "%.0f" $value}} seconds which is above
+ the threshold of 3 seconds.
+ summary: Read and write I/Os are taking too long to complete.
+expr: |
+ (sum without (disk_name) (increase(hardware_disk_metrics_read_time_milliseconds[5m])) + sum without (disk_name) (increase(hardware_disk_metrics_write_time_milliseconds[5m]))) / 1000 > 3
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### MongoDBAtlasHighNumberOfTimeoutElections
+
+{{< code lang="yaml" >}}
+alert: MongoDBAtlasHighNumberOfTimeoutElections
+annotations:
+ description: The number of elections being called due to the primary node timing
+ out in replica set {{$labels.rs_m}} in cluster {{$labels.cl_name}} is {{printf
+ "%.0f" $value}} which is above the threshold of 10.
+ summary: There is a high number of elections being called due to the primary node
+ timing out.
+expr: |
+ sum without (cl_role,process_port,instance,rs_state) (increase(mongodb_electionMetrics_electionTimeout_called[5m])) > 10
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [mongodb-atlas-cluster-overview](https://github.com/monitoring-mixins/website/blob/master/assets/mongodb-atlas/dashboards/mongodb-atlas-cluster-overview.json)
+- [mongodb-atlas-elections-overview](https://github.com/monitoring-mixins/website/blob/master/assets/mongodb-atlas/dashboards/mongodb-atlas-elections-overview.json)
+- [mongodb-atlas-operations-overview](https://github.com/monitoring-mixins/website/blob/master/assets/mongodb-atlas/dashboards/mongodb-atlas-operations-overview.json)
+- [mongodb-atlas-performance-overview](https://github.com/monitoring-mixins/website/blob/master/assets/mongodb-atlas/dashboards/mongodb-atlas-performance-overview.json)
diff --git a/site/content/mongodb/_index.md b/site/content/mongodb/_index.md
new file mode 100644
index 0000000..a0fbb2a
--- /dev/null
+++ b/site/content/mongodb/_index.md
@@ -0,0 +1,144 @@
+---
+title: mongodb
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/mongodb-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/mongodb/alerts.yaml).
+{{< /panel >}}
+
+### MongodbAlerts
+
+##### MongodbDown
+
+{{< code lang="yaml" >}}
+alert: MongodbDown
+annotations:
+ description: |-
+ MongoDB instance is down
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: MongoDB Instance is Down.
+expr: mongodb_up == 0
+for: 0m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### MongodbReplicationLag
+
+{{< code lang="yaml" >}}
+alert: MongodbReplicationLag
+annotations:
+ description: |-
+ Mongodb replication lag is more than 10s
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: MongoDB replication lag is exceeding the threshold.
+expr: mongodb_mongod_replset_member_optime_date{state="PRIMARY"} - ON (set) mongodb_mongod_replset_member_optime_date{state="SECONDARY"}
+ > 10
+for: 0m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### MongodbReplicationHeadroom
+
+{{< code lang="yaml" >}}
+alert: MongodbReplicationHeadroom
+annotations:
+ description: |-
+ MongoDB replication headroom is <= 0
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: MongoDB replication headroom is exceeding the threshold.
+expr: (avg(mongodb_mongod_replset_oplog_tail_timestamp - mongodb_mongod_replset_oplog_head_timestamp)
+ - (avg(mongodb_mongod_replset_member_optime_date{state="PRIMARY"}) - avg(mongodb_mongod_replset_member_optime_date{state="SECONDARY"})))
+ <= 0
+for: 0m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### MongodbNumberCursorsOpen
+
+{{< code lang="yaml" >}}
+alert: MongodbNumberCursorsOpen
+annotations:
+ description: |-
+ Too many cursors opened by MongoDB for clients (> 10k)
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: MongoDB number cursors open too high.
+expr: mongodb_mongod_metrics_cursor_open{state="total"} > 10 * 1000
+for: 2m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### MongodbCursorsTimeouts
+
+{{< code lang="yaml" >}}
+alert: MongodbCursorsTimeouts
+annotations:
+ description: |-
+ Too many cursors are timing out
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: MongoDB cursors timeouts is exceeding the threshold.
+expr: increase(mongodb_mongod_metrics_cursor_timed_out_total[1m]) > 100
+for: 2m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### MongodbTooManyConnections
+
+{{< code lang="yaml" >}}
+alert: MongodbTooManyConnections
+annotations:
+ description: |-
+ Too many connections (> 80%)
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: MongoDB too many connections.
+expr: avg by(instance) (rate(mongodb_connections{state="current"}[1m])) / avg by(instance)
+ (sum (mongodb_connections) by (instance)) * 100 > 80
+for: 2m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### MongodbVirtualMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: MongodbVirtualMemoryUsage
+annotations:
+ description: |-
+ High memory usage
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: MongoDB virtual memory usage is too high.
+expr: (sum(mongodb_memory{type="virtual"}) BY (instance) / sum(mongodb_memory{type="mapped"})
+ BY (instance)) > 3
+for: 2m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [MongoDB_Cluster](https://github.com/monitoring-mixins/website/blob/master/assets/mongodb/dashboards/MongoDB_Cluster.json)
+- [MongoDB_Instance](https://github.com/monitoring-mixins/website/blob/master/assets/mongodb/dashboards/MongoDB_Instance.json)
+- [MongoDB_ReplicaSet](https://github.com/monitoring-mixins/website/blob/master/assets/mongodb/dashboards/MongoDB_ReplicaSet.json)
diff --git a/site/content/mysql/_index.md b/site/content/mysql/_index.md
new file mode 100644
index 0000000..2480597
--- /dev/null
+++ b/site/content/mysql/_index.md
@@ -0,0 +1,17 @@
+---
+title: mysql
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/prometheus/mysqld_exporter](https://github.com/prometheus/mysqld_exporter/tree/master/mysqld-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [mysql-overview](https://github.com/monitoring-mixins/website/blob/master/assets/mysql/dashboards/mysql-overview.json)
diff --git a/site/content/nginx/_index.md b/site/content/nginx/_index.md
new file mode 100644
index 0000000..523c104
--- /dev/null
+++ b/site/content/nginx/_index.md
@@ -0,0 +1,17 @@
+---
+title: nginx
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/nginx-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [nginx-overview](https://github.com/monitoring-mixins/website/blob/master/assets/nginx/dashboards/nginx-overview.json)
diff --git a/site/content/nodejs/_index.md b/site/content/nodejs/_index.md
new file mode 100644
index 0000000..f1cd49f
--- /dev/null
+++ b/site/content/nodejs/_index.md
@@ -0,0 +1,38 @@
+---
+title: nodejs
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/nodejs-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/nodejs/alerts.yaml).
+{{< /panel >}}
+
+### NodejsAlerts
+
+##### NodejsDown
+
+{{< code lang="yaml" >}}
+alert: NodejsDown
+annotations:
+ description: Node.js {{$labels.job}} on {{$labels.instance}} is not up.
+ summary: Node.js not up.
+expr: absent(nodejs_version_info) or (sum by (version) (nodejs_version_info) < 1)
+for: 0m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [nodejs-overview](https://github.com/monitoring-mixins/website/blob/master/assets/nodejs/dashboards/nodejs-overview.json)
diff --git a/site/content/nomad/_index.md b/site/content/nomad/_index.md
new file mode 100644
index 0000000..ab8053d
--- /dev/null
+++ b/site/content/nomad/_index.md
@@ -0,0 +1,18 @@
+---
+title: nomad
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/nomad-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [nomad-cluster](https://github.com/monitoring-mixins/website/blob/master/assets/nomad/dashboards/nomad-cluster.json)
+- [nomad-jobs](https://github.com/monitoring-mixins/website/blob/master/assets/nomad/dashboards/nomad-jobs.json)
diff --git a/site/content/nsq/_index.md b/site/content/nsq/_index.md
new file mode 100644
index 0000000..52f29dd
--- /dev/null
+++ b/site/content/nsq/_index.md
@@ -0,0 +1,56 @@
+---
+title: nsq
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/nsq-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/nsq/alerts.yaml).
+{{< /panel >}}
+
+### nsq
+
+##### NsqTopicDepthIncreasing
+
+{{< code lang="yaml" >}}
+alert: NsqTopicDepthIncreasing
+annotations:
+ description: |
+ Topic {{ $labels.topic }} depth is higher than 100. The current queue is {{ $value }}.
+ summary: Topic depth is increasing.
+expr: |
+ sum by (topic) (nsq_topic_depth) > 100
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### NsqChannelDepthIncreasing
+
+{{< code lang="yaml" >}}
+alert: NsqChannelDepthIncreasing
+annotations:
+ description: |
+ Channel {{ $labels.channel }} depth in topic {{ $labels.topic }} is higher than 100. The current queue is {{ $value }}.
+ summary: Topic channel depth is increasing.
+expr: |
+ sum by (topic) (nsq_topic_channel_backend_depth) > 100
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [nsq-instances](https://github.com/monitoring-mixins/website/blob/master/assets/nsq/dashboards/nsq-instances.json)
+- [nsq-topics](https://github.com/monitoring-mixins/website/blob/master/assets/nsq/dashboards/nsq-topics.json)
diff --git a/site/content/openldap/_index.md b/site/content/openldap/_index.md
new file mode 100644
index 0000000..365e15f
--- /dev/null
+++ b/site/content/openldap/_index.md
@@ -0,0 +1,98 @@
+---
+title: openldap
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/openldap-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/openldap/alerts.yaml).
+{{< /panel >}}
+
+### openldap-alerts
+
+##### OpenLDAPConnectionSpike
+
+{{< code lang="yaml" >}}
+alert: OpenLDAPConnectionSpike
+annotations:
+ description: There are {{ printf "%.0f" $value }} OpenLDAP connections on instance
+ {{$labels.instance}}, which is above the threshold of 100.
+ summary: A sudden spike in OpenLDAP connections indicates potential high usage or
+ security issues.
+expr: |
+ increase(openldap_monitor_counter_object{dn="cn=Current,cn=Connections,cn=Monitor"}[5m]) > 100
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### OpenLDAPHighSearchOperationRateSpike
+
+{{< code lang="yaml" >}}
+alert: OpenLDAPHighSearchOperationRateSpike
+annotations:
+ description: The rate of search operations in OpenLDAP on instance {{$labels.instance}}
+ has increased by {{ printf "%.0f" $value }} percent in the last 5 minutes, compared
+ to the average over the last 15 minutes, which is above the threshold of 200 percent.
+ summary: A significant spike in OpenLDAP search operations indicates inefficient
+ queries, potential abuse, or unintended heavy load.
+expr: "100 * (
+ rate(openldap_monitor_operation{dn=\"cn=Search,cn=Operations,cn=Monitor\"}[5m])
+
+ /
+ clamp_min(rate(openldap_monitor_operation{dn=\"cn=Search,cn=Operations,cn=Monitor\"}[15m]
+ offset 5m), 0.0001)
+) > 200
+"
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### OpenLDAPDialFailures
+
+{{< code lang="yaml" >}}
+alert: OpenLDAPDialFailures
+annotations:
+ description: LDAP dial failures on instance {{$labels.instance}} have increased
+ by {{ printf "%.0f" $value }} in the last 10 minutes, which is above the threshold
+ of 10.
+ summary: Significant increase in LDAP dial failures indicates network issues, problems
+ with the LDAP service, or configuration errors that may lead to service unavailability.
+expr: |
+ increase(openldap_dial{result!="ok"}[10m]) > 10
+for: 10m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### OpenLDAPBindFailureRateIncrease
+
+{{< code lang="yaml" >}}
+alert: OpenLDAPBindFailureRateIncrease
+annotations:
+ description: LDAP bind failures on instance {{$labels.instance}} have increased
+ by {{ printf "%.0f" $value }} in the last 10 minutes, which is above the threshold
+ of 10.
+ summary: Significant increase in LDAP bind failures indicates authentication issues,
+ potential security threats or problems with user directories.
+expr: |
+ increase(openldap_bind{result!="ok"}[10m]) > 10
+for: 10m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [*](https://github.com/monitoring-mixins/website/blob/master/assets/openldap/dashboards/*.json)
diff --git a/site/content/opensearch/_index.md b/site/content/opensearch/_index.md
new file mode 100644
index 0000000..2fb5ab0
--- /dev/null
+++ b/site/content/opensearch/_index.md
@@ -0,0 +1,205 @@
+---
+title: opensearch
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/opensearch-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/opensearch/alerts.yaml).
+{{< /panel >}}
+
+### opensearch-alerts
+
+##### OpenSearchYellowCluster
+
+{{< code lang="yaml" >}}
+alert: OpenSearchYellowCluster
+annotations:
+ description: '{{$labels.cluster}} health status is yellow over the last 5 minutes'
+ summary: At least one of the clusters is reporting a yellow status.
+expr: |
+ opensearch_cluster_status{cluster!=""} == 1
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### OpenSearchRedCluster
+
+{{< code lang="yaml" >}}
+alert: OpenSearchRedCluster
+annotations:
+ description: '{{$labels.cluster}} health status is red over the last 5 minutes'
+ summary: At least one of the clusters is reporting a red status.
+expr: |
+ opensearch_cluster_status{cluster!=""} == 2
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### OpenSearchUnstableShardReallocation
+
+{{< code lang="yaml" >}}
+alert: OpenSearchUnstableShardReallocation
+annotations:
+ description: |
+ {{$labels.cluster}} has had {{ printf "%.0f" $value }} shard reallocation over the last 1m which is above the threshold of 0.
+ summary: A node has gone offline or has been disconnected triggering shard reallocation.
+expr: |
+ sum without(type) (opensearch_cluster_shards_number{cluster!="", type="relocating"}) > 0
+for: 1m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### OpenSearchUnstableShardUnassigned
+
+{{< code lang="yaml" >}}
+alert: OpenSearchUnstableShardUnassigned
+annotations:
+ description: |
+ {{$labels.cluster}} has had {{ printf "%.0f" $value }} shard unassigned over the last 5m which is above the threshold of 0.
+ summary: There are shards that have been detected as unassigned.
+expr: |
+ sum without(type) (opensearch_cluster_shards_number{cluster!="", type="unassigned"}) > 0
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### OpenSearchModerateNodeDiskUsage
+
+{{< code lang="yaml" >}}
+alert: OpenSearchModerateNodeDiskUsage
+annotations:
+ description: |
+ {{$labels.node}} has had {{ printf "%.0f" $value }} disk usage over the last 5m which is above the threshold of 60.
+ summary: The node disk usage has exceeded the warning threshold.
+expr: |
+ 100 * sum without(nodeid, path, mount, type) ((opensearch_fs_path_total_bytes{cluster!=""} - opensearch_fs_path_free_bytes{cluster!=""}) / opensearch_fs_path_total_bytes{cluster!=""}) > 60
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### OpenSearchHighNodeDiskUsage
+
+{{< code lang="yaml" >}}
+alert: OpenSearchHighNodeDiskUsage
+annotations:
+ description: |
+ {{$labels.node}} has had {{ printf "%.0f" $value }}% disk usage over the last 5m which is above the threshold of 80.
+ summary: The node disk usage has exceeded the critical threshold.
+expr: |
+ 100 * sum without(nodeid, path, mount, type) ((opensearch_fs_path_total_bytes{cluster!=""} - opensearch_fs_path_free_bytes) / opensearch_fs_path_total_bytes{cluster!=""}) > 80
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### OpenSearchModerateNodeCpuUsage
+
+{{< code lang="yaml" >}}
+alert: OpenSearchModerateNodeCpuUsage
+annotations:
+ description: |
+ {{$labels.node}} has had {{ printf "%.0f" $value }}% CPU usage over the last 5m which is above the threshold of 70.
+ summary: The node CPU usage has exceeded the warning threshold.
+expr: |
+ sum without(nodeid) (opensearch_os_cpu_percent{cluster!=""}) > 70
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### OpenSearchHighNodeCpuUsage
+
+{{< code lang="yaml" >}}
+alert: OpenSearchHighNodeCpuUsage
+annotations:
+ description: |
+ {{$labels.node}} has had {{ printf "%.0f" $value }}% CPU usage over the last 5m which is above the threshold of 85.
+ summary: The node CPU usage has exceeded the critical threshold.
+expr: |
+ sum without(nodeid) (opensearch_os_cpu_percent{cluster!=""}) > 85
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### OpenSearchModerateNodeMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: OpenSearchModerateNodeMemoryUsage
+annotations:
+ description: |
+ {{$labels.node}} has had {{ printf "%.0f" $value }}% memory usage over the last 5m which is above the threshold of 70.
+ summary: The node memory usage has exceeded the warning threshold.
+expr: |
+ sum without(nodeid) (opensearch_os_mem_used_percent{cluster!=""}) > 70
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### OpenSearchHighNodeMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: OpenSearchHighNodeMemoryUsage
+annotations:
+ description: |
+ {{$labels.node}} has had {{ printf "%.0f" $value }}% memory usage over the last 5m which is above the threshold of 85.
+ summary: The node memory usage has exceeded the critical threshold.
+expr: |
+ sum without(nodeid) (opensearch_os_mem_used_percent{cluster!=""}) > 85
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### OpenSearchModerateRequestLatency
+
+{{< code lang="yaml" >}}
+alert: OpenSearchModerateRequestLatency
+annotations:
+ description: |
+ {{$labels.index}} has had {{ printf "%.0f" $value }}s of request latency over the last 5m which is above the threshold of 0.5.
+ summary: The request latency has exceeded the warning threshold.
+expr: |
+ sum without(context) ((increase(opensearch_index_search_fetch_time_seconds{cluster!="", context="total"}[5m])+increase(opensearch_index_search_query_time_seconds{context="total"}[5m])+increase(opensearch_index_search_scroll_time_seconds{context="total"}[5m])) / clamp_min(increase(opensearch_index_search_fetch_count{context="total"}[5m])+increase(opensearch_index_search_query_count{context="total"}[5m])+increase(opensearch_index_search_scroll_count{context="total"}[5m]), 1)) > 0.5
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### OpenSearchModerateIndexLatency
+
+{{< code lang="yaml" >}}
+alert: OpenSearchModerateIndexLatency
+annotations:
+ description: |
+ {{$labels.index}} has had {{ printf "%.0f" $value }}s of index latency over the last 5m which is above the threshold of 0.5.
+ summary: The index latency has exceeded the warning threshold.
+expr: |
+ sum without(context) (increase(opensearch_index_indexing_index_time_seconds{cluster!="", context="total"}[5m]) / clamp_min(increase(opensearch_index_indexing_index_count{context="total"}[5m]), 1)) > 0.5
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [node-overview](https://github.com/monitoring-mixins/website/blob/master/assets/opensearch/dashboards/node-overview.json)
+- [opensearch-cluster-overview](https://github.com/monitoring-mixins/website/blob/master/assets/opensearch/dashboards/opensearch-cluster-overview.json)
+- [search-and-index-overview](https://github.com/monitoring-mixins/website/blob/master/assets/opensearch/dashboards/search-and-index-overview.json)
diff --git a/site/content/openstack/_index.md b/site/content/openstack/_index.md
new file mode 100644
index 0000000..deb3a84
--- /dev/null
+++ b/site/content/openstack/_index.md
@@ -0,0 +1,172 @@
+---
+title: openstack
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/openstack-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/openstack/alerts.yaml).
+{{< /panel >}}
+
+### openstack-alerts-openstack
+
+##### OpenStackPlacementHighMemoryUsageWarning
+
+{{< code lang="yaml" >}}
+alert: OpenStackPlacementHighMemoryUsageWarning
+annotations:
+ description: The cloud on instance {{$labels.instance}} is using {{ printf "%.0f"
+ $value }} percent of its allocated memory, which is above the threshold of 80
+ percent.
+ summary: The cloud is using a significant percentage of its allocated memory.
+expr: |
+ 100 * openstack_placement_resource_usage{job=~"integrations/openstack", resourcetype="MEMORY_MB"} / clamp_min(openstack_placement_resource_total{job=~"integrations/openstack", resourcetype="MEMORY_MB"}, 1) > 80
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### OpenStackPlacementHighMemoryUsageCritical
+
+{{< code lang="yaml" >}}
+alert: OpenStackPlacementHighMemoryUsageCritical
+annotations:
+ description: The cloud on instance {{$labels.instance}} is using {{ printf "%.0f"
+ $value }} percent of its allocated memory, which is above the threshold of 90
+ percent.
+ summary: The cloud is using a large percentage of its allocated memory, consider
+ allocating more resources.
+expr: "100 * openstack_placement_resource_usage{job=~\"integrations/openstack\", resourcetype=\"MEMORY_MB\"}
+ / clamp_min(openstack_placement_resource_total{job=~\"integrations/openstack\",
+ resourcetype=\"MEMORY_MB\"}, 1) > 90
+"
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### OpenStackNovaHighVMMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: OpenStackNovaHighVMMemoryUsage
+annotations:
+ description: Virtual machines on the cloud on {{$labels.instance}} are using {{
+ printf "%.0f" $value }} percent of their allocated memory, which is above the
+ threshold of 80 percent.
+ summary: VMs are using a high percentage of their allocated memory.
+expr: |
+ 100 * openstack_nova_limits_memory_used{job=~"integrations/openstack"} / clamp_min(openstack_nova_limits_memory_max{job=~"integrations/openstack"}, 1) > 80
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### OpenStackNovaHighVMVCPUUsage
+
+{{< code lang="yaml" >}}
+alert: OpenStackNovaHighVMVCPUUsage
+annotations:
+ description: Virtual machines on the cloud on {{$labels.instance}} are using {{
+ printf "%.0f" $value }} percent of their allocated virtual CPUs, which is above
+ the threshold of 80 percent.
+ summary: VMs are using a high percentage of their allocated virtual CPUs.
+expr: |
+ 100 * openstack_nova_limits_vcpus_used{job=~"integrations/openstack"} / clamp_min(openstack_nova_limits_vcpus_max{job=~"integrations/openstack"}, 1) > 80
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### OpenStackNeutronHighDisconnectedPortRate
+
+{{< code lang="yaml" >}}
+alert: OpenStackNeutronHighDisconnectedPortRate
+annotations:
+ description: '{{ printf "%.0f" $value }} percent of ports managed by the Neutron
+ service on instance {{$labels.instance}} have no IP addresses assigned to them,
+ which is above the threshold of 25'
+ summary: A high rate of ports have no IP addresses assigned to them.
+expr: |
+ 100 * openstack_neutron_ports_no_ips{job=~"integrations/openstack"} / clamp_min(openstack_neutron_ports{job=~"integrations/openstack"}, 1) > 25
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### OpenStackNeutronHighInactiveRouterRate
+
+{{< code lang="yaml" >}}
+alert: OpenStackNeutronHighInactiveRouterRate
+annotations:
+ description: '{{ printf "%.0f" $value }} percent of routers managed by the Neutron
+ service on instance {{$labels.instance}} are currently inactive, which is above
+ the threshold of 15'
+ summary: A high rate of routers are currently inactive.
+expr: |
+ 100 * openstack_neutron_routers_not_active{job=~"integrations/openstack"} / clamp_min(openstack_neutron_routers{job=~"integrations/openstack"}, 1) > 15
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### OpenStackCinderHighBackupMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: OpenStackCinderHighBackupMemoryUsage
+annotations:
+ description: Backups managed by the Cinder service on instance {{$labels.instance}}
+ are using {{ printf "%.0f" $value }} percent of their allocated memory, which
+ is above the threshold of 80 percent.
+ summary: Cinder backups are using a large amount of their maximum memory.
+expr: |
+ 100 * openstack_cinder_limits_backup_used_gb{job=~"integrations/openstack"} / clamp_min(openstack_cinder_limits_backup_max_gb{job=~"integrations/openstack"}, 1) > 80
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### OpenStackCinderHighVolumeMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: OpenStackCinderHighVolumeMemoryUsage
+annotations:
+ description: Volumes managed by the Cinder service on instance {{$labels.instance}}
+ are using {{ printf "%.0f" $value }} percent of their allocated memory, which
+ is above the threshold of 80 percent.
+ summary: Cinder volumes are using a large amount of their maximum memory.
+expr: |
+ 100 * openstack_cinder_limits_volume_used_gb{job=~"integrations/openstack"} / clamp_min(openstack_cinder_limits_volume_max_gb{job=~"integrations/openstack"}, 1) > 80
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### OpenStackCinderHighPoolCapacityUsage
+
+{{< code lang="yaml" >}}
+alert: OpenStackCinderHighPoolCapacityUsage
+annotations:
+ description: Pools managed by the Cinder service on instance {{$labels.instance}}
+ are using {{ printf "%.0f" $value }} percent of their allocated capacity, which
+ is above the threshold of 80 percent.
+ summary: Cinder pools are using a large amount of their maximum capacity.
+expr: |
+ 100 * (openstack_cinder_pool_capacity_total_gb{job=~"integrations/openstack"} - openstack_cinder_pool_capacity_free_gb{job=~"integrations/openstack"}) / clamp_min(openstack_cinder_pool_capacity_total_gb{job=~"integrations/openstack"}, 1) > 80
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [*](https://github.com/monitoring-mixins/website/blob/master/assets/openstack/dashboards/*.json)
diff --git a/site/content/oracledb/_index.md b/site/content/oracledb/_index.md
new file mode 100644
index 0000000..22fe90d
--- /dev/null
+++ b/site/content/oracledb/_index.md
@@ -0,0 +1,72 @@
+---
+title: oracledb
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/oracledb-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/oracledb/alerts.yaml).
+{{< /panel >}}
+
+### OracleDBAlerts
+
+##### OracledbReachingSessionLimit
+
+{{< code lang="yaml" >}}
+alert: OracledbReachingSessionLimit
+annotations:
+ description: '{{ printf "%.2f" $value }}% of sessions are being utilized which is
+ above the threshold 85%. This could mean that {{$labels.instance}} is being overutilized.'
+ summary: The number of sessions being utilized exceeded 85%.
+expr: |
+ oracledb_resource_current_utilization{resource_name="sessions"} / oracledb_resource_limit_value{resource_name="sessions"} * 100 > 85
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### OracledbReachingProcessLimit
+
+{{< code lang="yaml" >}}
+alert: OracledbReachingProcessLimit
+annotations:
+ description: '{{ printf "%.2f" $value }} of processes are being utilized which is
+ above thethreshold 85%. This could potentially mean that {{$labels.instance}}
+ runs out of processes it can spin up.'
+ summary: The number of processess being utilized exceeded the threshold of 85%.
+expr: |
+ oracledb_resource_current_utilization{resource_name="processes"} / oracledb_resource_limit_value{resource_name="processes"} * 100 > 85
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### OracledbTablespaceReachingCapacity
+
+{{< code lang="yaml" >}}
+alert: OracledbTablespaceReachingCapacity
+annotations:
+ description: '{{ printf "%.2f" $value }}% of bytes are being utilized by the tablespace
+ {{$labels.tablespace}} on the instance {{$labels.instance}}, which is above the
+ threshold 85%.'
+ summary: A tablespace is exceeding more than 85% of its maximum allotted space.
+expr: |
+ oracledb_tablespace_bytes / oracledb_tablespace_max_bytes * 100 > 85
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [oracledb-overview](https://github.com/monitoring-mixins/website/blob/master/assets/oracledb/dashboards/oracledb-overview.json)
diff --git a/site/content/pgbouncer/_index.md b/site/content/pgbouncer/_index.md
new file mode 100644
index 0000000..4a3585c
--- /dev/null
+++ b/site/content/pgbouncer/_index.md
@@ -0,0 +1,87 @@
+---
+title: pgbouncer
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/pgbouncer-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/pgbouncer/alerts.yaml).
+{{< /panel >}}
+
+### pgbouncer
+
+##### PGBouncerHighNumberClientWaitingConnections
+
+{{< code lang="yaml" >}}
+alert: PGBouncerHighNumberClientWaitingConnections
+annotations:
+ description: |
+ The number of clients waiting for connections on {{ $labels.instance }} is now above 20. The current value is {{ $value | printf "%.2f" }}.
+ summary: May indicate a bottleneck in connection pooling where too many clients
+ are waiting for available server connections.
+expr: |
+ pgbouncer_pools_client_waiting_connections{job=~"integrations/pgbouncer"} > 20
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### PGBouncerHighClientWaitTime
+
+{{< code lang="yaml" >}}
+alert: PGBouncerHighClientWaitTime
+annotations:
+ description: |
+ The wait time for user connections on {{ $labels.instance }}, is above 15. The current value is {{ $value | printf "%.2f" }}.
+ summary: Clients are experiencing significant delays, which could indicate issues
+ with connection pool saturation or server performance.
+expr: |
+ pgbouncer_pools_client_maxwait_seconds{job=~"integrations/pgbouncer"} > 15
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### PGBouncerHighServerConnectionSaturationWarning
+
+{{< code lang="yaml" >}}
+alert: PGBouncerHighServerConnectionSaturationWarning
+annotations:
+ description: |
+ User connection capacity on {{ $labels.instance }}, is above 80%. The current value is {{ $value | printf "%.2f" }}.
+ summary: PGBouncer is nearing user connection capacity.
+expr: |
+ 100 * (sum without (database, user) (pgbouncer_pools_server_active_connections{job=~"integrations/pgbouncer"} + pgbouncer_pools_server_idle_connections{job=~"integrations/pgbouncer"} + pgbouncer_pools_server_used_connections{job=~"integrations/pgbouncer"}) / clamp_min(pgbouncer_config_max_user_connections{job=~"integrations/pgbouncer"},1)) > 80
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### PGBouncerHighServerConnectionSaturationCritical
+
+{{< code lang="yaml" >}}
+alert: PGBouncerHighServerConnectionSaturationCritical
+annotations:
+ description: |
+ User connection capacity on {{ $labels.instance }}, is above 90%. The current value is {{ $value | printf "%.2f" }}.
+ summary: PGBouncer is nearing critical levels of user connection capacity.
+expr: |
+ 100 * (sum without (database, user) (pgbouncer_pools_server_active_connections{job=~"integrations/pgbouncer"} + pgbouncer_pools_server_idle_connections{job=~"integrations/pgbouncer"} + pgbouncer_pools_server_used_connections{job=~"integrations/pgbouncer"}) / clamp_min(pgbouncer_config_max_user_connections{job=~"integrations/pgbouncer"},1)) > 90
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [*](https://github.com/monitoring-mixins/website/blob/master/assets/pgbouncer/dashboards/*.json)
diff --git a/site/content/presto/_index.md b/site/content/presto/_index.md
new file mode 100644
index 0000000..cdb4cfe
--- /dev/null
+++ b/site/content/presto/_index.md
@@ -0,0 +1,142 @@
+---
+title: presto
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/presto-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/presto/alerts.yaml).
+{{< /panel >}}
+
+### presto-alerts
+
+##### PrestoHighInsufficientResources
+
+{{< code lang="yaml" >}}
+alert: PrestoHighInsufficientResources
+annotations:
+ description: The number of insufficient resource failures on {{$labels.instance}}
+ is {{ printf "%.0f" $value }} which is greater than the threshold of 0.
+ summary: The amount of failures that are occurring due to insufficient resources
+ are scaling, causing saturation in the system.
+expr: |
+ increase(presto_QueryManager_InsufficientResourcesFailures_TotalCount[5m]) > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### PrestoHighTaskFailuresWarning
+
+{{< code lang="yaml" >}}
+alert: PrestoHighTaskFailuresWarning
+annotations:
+ description: The number of task failures on {{$labels.instance}} is {{ printf "%.0f"
+ $value }} which is above the threshold of 0.
+ summary: The amount of tasks that are failing is increasing, this might affect query
+ processing and could result in incomplete or incorrect results.
+expr: |
+ increase(presto_TaskManager_FailedTasks_TotalCount[5m]) > 0
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### PrestoHighTaskFailuresCritical
+
+{{< code lang="yaml" >}}
+alert: PrestoHighTaskFailuresCritical
+annotations:
+ description: The number of task failures on {{$labels.instance}} is {{ printf "%.0f"
+ $value }} which is above the threshold of 30%s.
+ summary: The amount of tasks that are failing has reached a critical level. This
+ might affect query processing and could result in incomplete or incorrect results.
+expr: |
+ increase(presto_TaskManager_FailedTasks_TotalCount[5m]) / clamp_min(increase(presto_TaskManager_FailedTasks_TotalCount[10m]), 1) * 100 > 30
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### PrestoHighQueuedTaskCount
+
+{{< code lang="yaml" >}}
+alert: PrestoHighQueuedTaskCount
+annotations:
+ description: The number of queued tasks on {{$labels.instance}} is {{ printf "%.0f"
+ $value }} which is greater than the threshold of 5
+ summary: The amount of tasks that are being put in queue is increasing. A high number
+ of queued tasks can lead to increased query latencies and degraded system performance.
+expr: |
+ increase(presto_QueryExecution_Executor_QueuedTaskCount[5m]) > 5
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### PrestoHighBlockedNodes
+
+{{< code lang="yaml" >}}
+alert: PrestoHighBlockedNodes
+annotations:
+ description: The number of blocked nodes on {{$labels.instance}} is {{ printf "%.0f"
+ $value }} which is greater than the threshold of 0
+ summary: The amount of nodes that are blocked due to memory restrictions is increasing.
+ Blocked nodes can cause performance degradation and resource starvation.
+expr: |
+ increase(presto_ClusterMemoryPool_general_BlockedNodes[5m]) > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### PrestoHighFailedQueriesWarning
+
+{{< code lang="yaml" >}}
+alert: PrestoHighFailedQueriesWarning
+annotations:
+ description: The number of failed queries on {{$labels.instance}} is {{ printf "%.0f"
+ $value }} which is greater than the threshold of 0
+ summary: The amount of queries failing is increasing. Failed queries can prevent
+ users from accessing data, disrupt analytics processes, and might indicate underlying
+ issues with the system or data.
+expr: |
+ increase(presto_QueryManager_FailedQueries_TotalCount[5m]) > 0
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### PrestoHighFailedQueriesCritical
+
+{{< code lang="yaml" >}}
+alert: PrestoHighFailedQueriesCritical
+annotations:
+ description: The number of failed queries on {{$labels.instance}} is {{ printf "%.0f"
+ $value }} which is greater than the threshold of 30%s.
+ summary: The amount of queries failing has increased to critical levels. Failed
+ queries can prevent users from accessing data, disrupt analytics processes, and
+ might indicate underlying issues with the system or data.
+expr: |
+ increase(presto_QueryManager_FailedQueries_TotalCount[5m]) / clamp_min(increase(presto_QueryManager_FailedQueries_TotalCount[10m]), 1) * 100 > 30
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [presto-coordinator](https://github.com/monitoring-mixins/website/blob/master/assets/presto/dashboards/presto-coordinator.json)
+- [presto-logs](https://github.com/monitoring-mixins/website/blob/master/assets/presto/dashboards/presto-logs.json)
+- [presto-overview](https://github.com/monitoring-mixins/website/blob/master/assets/presto/dashboards/presto-overview.json)
+- [presto-worker](https://github.com/monitoring-mixins/website/blob/master/assets/presto/dashboards/presto-worker.json)
diff --git a/site/content/python-runtime/_index.md b/site/content/python-runtime/_index.md
new file mode 100644
index 0000000..015d732
--- /dev/null
+++ b/site/content/python-runtime/_index.md
@@ -0,0 +1,17 @@
+---
+title: python-runtime
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/python-runtime-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [python-runtime](https://github.com/monitoring-mixins/website/blob/master/assets/python-runtime/dashboards/python-runtime.json)
diff --git a/site/content/rabbitmq/_index.md b/site/content/rabbitmq/_index.md
new file mode 100644
index 0000000..950605d
--- /dev/null
+++ b/site/content/rabbitmq/_index.md
@@ -0,0 +1,96 @@
+---
+title: rabbitmq
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/rabbitmq-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/rabbitmq/alerts.yaml).
+{{< /panel >}}
+
+### RabbitMQClusterAlerts
+
+##### RabbitMQMemoryHigh
+
+{{< code lang="yaml" >}}
+alert: RabbitMQMemoryHigh
+annotations:
+ description: A node {{ $labels.instance }} is using more than 90% of allocated RAM.
+ summary: RabbitMQ memory usage is high.
+expr: rabbitmq_process_resident_memory_bytes / rabbitmq_resident_memory_limit_bytes
+ * 100 > 90
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### RabbitMQFileDescriptorsUsage
+
+{{< code lang="yaml" >}}
+alert: RabbitMQFileDescriptorsUsage
+annotations:
+ description: A node {{ $labels.instance }} is using more than 90% of file descriptors.
+ summary: RabbitMQ file descriptors usage is high.
+expr: rabbitmq_process_open_fds / rabbitmq_process_max_fds * 100 > 90
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### RabbitMQUnroutableMessages
+
+{{< code lang="yaml" >}}
+alert: RabbitMQUnroutableMessages
+annotations:
+ description: A queue has unroutable messages on {{ $labels.instance }}.
+ summary: A RabbitMQ queue has unroutable messages.
+expr: increase(rabbitmq_channel_messages_unroutable_returned_total[1m]) > 0 or increase(rabbitmq_channel_messages_unroutable_dropped_total[1m])
+ > 0
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### RabbitMQNodeNotDistributed
+
+{{< code lang="yaml" >}}
+alert: RabbitMQNodeNotDistributed
+annotations:
+ description: Distribution link state is not 'up' on {{ $labels.instance }}.
+ summary: RabbitMQ node not distributed, link state is down.
+expr: erlang_vm_dist_node_state < 3
+for: 2m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### RabbitMQNodeDown
+
+{{< code lang="yaml" >}}
+alert: RabbitMQNodeDown
+annotations:
+ description: |-
+ Less than 3 nodes running in RabbitMQ cluster
+ VALUE = {{ $value }}
+ LABELS = {{ $labels }}
+ summary: RabbitMQ node is down.
+expr: sum by (rabbitmq_cluster) (rabbitmq_identity_info) < 3
+for: 0m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [erlang-memory-allocators](https://github.com/monitoring-mixins/website/blob/master/assets/rabbitmq/dashboards/erlang-memory-allocators.json)
+- [rabbitmq-overview](https://github.com/monitoring-mixins/website/blob/master/assets/rabbitmq/dashboards/rabbitmq-overview.json)
diff --git a/site/content/rclone/_index.md b/site/content/rclone/_index.md
new file mode 100644
index 0000000..4c03bab
--- /dev/null
+++ b/site/content/rclone/_index.md
@@ -0,0 +1,17 @@
+---
+title: rclone
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/rclone-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [rclone](https://github.com/monitoring-mixins/website/blob/master/assets/rclone/dashboards/rclone.json)
diff --git a/site/content/redis/_index.md b/site/content/redis/_index.md
new file mode 100644
index 0000000..ad37e4b
--- /dev/null
+++ b/site/content/redis/_index.md
@@ -0,0 +1,17 @@
+---
+title: redis
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/redis-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [*](https://github.com/monitoring-mixins/website/blob/master/assets/redis/dashboards/*.json)
diff --git a/site/content/ruby/_index.md b/site/content/ruby/_index.md
new file mode 100644
index 0000000..876d83c
--- /dev/null
+++ b/site/content/ruby/_index.md
@@ -0,0 +1,17 @@
+---
+title: ruby
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/ruby-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [ruby-overview](https://github.com/monitoring-mixins/website/blob/master/assets/ruby/dashboards/ruby-overview.json)
diff --git a/site/content/sap-hana/_index.md b/site/content/sap-hana/_index.md
new file mode 100644
index 0000000..aa70605
--- /dev/null
+++ b/site/content/sap-hana/_index.md
@@ -0,0 +1,147 @@
+---
+title: sap-hana
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/sap-hana-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/sap-hana/alerts.yaml).
+{{< /panel >}}
+
+### sap-hana-alerts
+
+##### SapHanaHighCpuUtilization
+
+{{< code lang="yaml" >}}
+alert: SapHanaHighCpuUtilization
+annotations:
+ description: The CPU usage is at {{$labels.value}}% on {{$labels.core}} on {{$labels.host}}
+ which is above the threshold of 80%.
+ summary: CPU utilization is high.
+expr: |
+ sum without (database_name) (hanadb_cpu_busy_percent) > 80
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### SapHanaHighPhysicalMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: SapHanaHighPhysicalMemoryUsage
+annotations:
+ description: The physical memory usage is at {{$labels.value}}% on {{$labels.host}}
+ which is above the threshold of 80%.
+ summary: Current physical memory usage of the host is approaching capacity.
+expr: |
+ 100 * sum without (database_name)(hanadb_host_memory_resident_mb) / sum without (database_name) (hanadb_host_memory_physical_total_mb) > 80
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### SapHanaMemAllocLimitBelowRecommendation
+
+{{< code lang="yaml" >}}
+alert: SapHanaMemAllocLimitBelowRecommendation
+annotations:
+ description: The memory allocation limit is set at {{$labels.value}}% on {{$labels.host}}
+ which is below the recommended value of 90%.
+ summary: Memory allocation limit set below recommended limit.
+expr: |
+ 100 * sum without (database_name) (hanadb_host_memory_alloc_limit_mb) / sum without (database_name) (hanadb_host_memory_physical_total_mb) < 90
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### SapHanaHighMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: SapHanaHighMemoryUsage
+annotations:
+ description: The memory usage is at {{$labels.value}}% on {{$labels.host}} which
+ is above the threshold of 80%.
+ summary: Current SAP HANA memory usage is approaching capacity.
+expr: |
+ 100 * sum without (database_name) (hanadb_host_memory_used_total_mb) / sum without (database_name) (hanadb_host_memory_alloc_limit_mb) > 80
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### SapHanaHighDiskUtilization
+
+{{< code lang="yaml" >}}
+alert: SapHanaHighDiskUtilization
+annotations:
+ description: The disk usage is at {{$labels.value}}% on {{$labels.host}} which is
+ above the threshold of 80%.
+ summary: SAP HANA disk is approaching capacity.
+expr: |
+ 100 * sum without (database_name, filesystem_type, path, usage_type) (hanadb_disk_total_used_size_mb) / sum without (database_name, filesystem_type, path, usage_type) (hanadb_disk_total_size_mb) > 80
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### SapHanaHighSqlExecutionTime
+
+{{< code lang="yaml" >}}
+alert: SapHanaHighSqlExecutionTime
+annotations:
+ description: The average SQL execution time is at {{$labels.value}}s on {{$labels.host}}
+ which is above the threshold of 1s.
+ summary: SAP HANA SQL average execution time is high.
+expr: |
+ avg without (database_name, port, service, sql_type) (hanadb_sql_service_elap_per_exec_avg_ms) / 1000 > 1
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### SapHanaHighReplicationShippingTime
+
+{{< code lang="yaml" >}}
+alert: SapHanaHighReplicationShippingTime
+annotations:
+ description: The average system replication log shipping delay is at {{$labels.value}}s
+ from primary site {{$labels.site_name}} to replica site {{$labels.secondary_site_name}}
+ which is above the threshold of 1s.
+ summary: SAP HANA system replication log shipping delay is high.
+expr: |
+ avg without (database_name, port, secondary_port, replication_mode) (hanadb_sr_ship_delay) > 1
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### SapHanaReplicationStatusError
+
+{{< code lang="yaml" >}}
+alert: SapHanaReplicationStatusError
+annotations:
+ description: The replication status of replica {{$labels.secondary_site_name}} is
+ ERROR
+ summary: SAP HANA system replication status signifies an error.
+expr: |
+ hanadb_sr_replication == 4
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [sap-hana-instance-overview](https://github.com/monitoring-mixins/website/blob/master/assets/sap-hana/dashboards/sap-hana-instance-overview.json)
+- [sap-hana-system-overview](https://github.com/monitoring-mixins/website/blob/master/assets/sap-hana/dashboards/sap-hana-system-overview.json)
diff --git a/site/content/snmp/_index.md b/site/content/snmp/_index.md
new file mode 100644
index 0000000..339658d
--- /dev/null
+++ b/site/content/snmp/_index.md
@@ -0,0 +1,53 @@
+---
+title: snmp
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/snmp-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/snmp/alerts.yaml).
+{{< /panel >}}
+
+### snmp
+
+##### SNMPTargetDown
+
+{{< code lang="yaml" >}}
+alert: SNMPTargetDown
+annotations:
+ description: SNMP target {{$labels.snmp_target}} on instance {{$labels.instance}}
+ from job {{$labels.job}} is down.
+ summary: SNMP Target is down.
+expr: up{job_snmp=~"integrations/snmp.*"} == 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### SNMPTargetInterfaceDown
+
+{{< code lang="yaml" >}}
+alert: SNMPTargetInterfaceDown
+annotations:
+ description: SNMP interface {{$labels.ifDescr}} on target {{$labels.snmp_target}}
+ on instance {{$labels.instance}} from job {{$labels.job}} is down.
+ summary: Network interface on SNMP target is down.
+expr: ifOperStatus{job_snmp=~"integrations/snmp.*"} == 2
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [snmp-overview](https://github.com/monitoring-mixins/website/blob/master/assets/snmp/dashboards/snmp-overview.json)
diff --git a/site/content/spark/_index.md b/site/content/spark/_index.md
new file mode 100644
index 0000000..194db8a
--- /dev/null
+++ b/site/content/spark/_index.md
@@ -0,0 +1,17 @@
+---
+title: spark
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/spark-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [spark-metrics](https://github.com/monitoring-mixins/website/blob/master/assets/spark/dashboards/spark-metrics.json)
diff --git a/site/content/spring-boot/_index.md b/site/content/spring-boot/_index.md
new file mode 100644
index 0000000..3cd6236
--- /dev/null
+++ b/site/content/spring-boot/_index.md
@@ -0,0 +1,17 @@
+---
+title: spring-boot
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/spring-boot-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [spring-boot-dashboard](https://github.com/monitoring-mixins/website/blob/master/assets/spring-boot/dashboards/spring-boot-dashboard.json)
diff --git a/site/content/squid/_index.md b/site/content/squid/_index.md
new file mode 100644
index 0000000..f655942
--- /dev/null
+++ b/site/content/squid/_index.md
@@ -0,0 +1,100 @@
+---
+title: squid
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/squid-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/squid/alerts.yaml).
+{{< /panel >}}
+
+### squid
+
+##### SquidHighPercentageOfHTTPServerRequestErrors
+
+{{< code lang="yaml" >}}
+alert: SquidHighPercentageOfHTTPServerRequestErrors
+annotations:
+ description: |
+ The percentage of HTTP server request errors is {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} which is above the threshold of 5.
+ summary: There are a high number of HTTP server errors.
+expr: |
+ rate(squid_server_http_errors_total[5m]) / clamp_min(rate(squid_server_http_requests_total[5m]),1) * 100 > 5
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### SquidHighPercentageOfFTPServerRequestErrors
+
+{{< code lang="yaml" >}}
+alert: SquidHighPercentageOfFTPServerRequestErrors
+annotations:
+ description: |
+ The percentage of FTP server request errors is {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} which is above the threshold of 5.
+ summary: There are a high number of FTP server request errors.
+expr: |
+ rate(squid_server_ftp_errors_total[5m]) / clamp_min(rate(squid_server_ftp_requests_total[5m]),1) * 100 > 5
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### SquidHighPercentageOfOtherServerRequestErrors
+
+{{< code lang="yaml" >}}
+alert: SquidHighPercentageOfOtherServerRequestErrors
+annotations:
+ description: |
+ The percentage of other server request errors is {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} which is above the threshold of 5.
+ summary: There are a high number of other server request errors.
+expr: |
+ rate(squid_server_other_errors_total[5m]) / clamp_min(rate(squid_server_other_requests_total[5m]),1) * 100 > 5
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### SquidHighPercentageOfClientRequestErrors
+
+{{< code lang="yaml" >}}
+alert: SquidHighPercentageOfClientRequestErrors
+annotations:
+ description: |
+ The percentage of HTTP client request errors is {{ printf "%.0f" $value }} over the last 5m on {{ $labels.instance }} which is above the threshold of 5.
+ summary: There are a high number of HTTP client request errors.
+expr: |
+ rate(squid_client_http_errors_total[5m]) / clamp_min(rate(squid_client_http_requests_total[5m]),1) * 100 > 5
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### SquidLowCacheHitRatio
+
+{{< code lang="yaml" >}}
+alert: SquidLowCacheHitRatio
+annotations:
+ description: |
+ The cache hit ratio is {{ printf "%.0f" $value }} over the last 10m on {{ $labels.instance }} which is below the threshold of 85.
+ summary: The cache hit ratio has fallen below the configured threshold (%).
+expr: |
+ rate(squid_client_http_hits_total[10m]) / clamp_min(rate(squid_client_http_requests_total[10m]),1) * 100 < 85
+for: 10m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [squid-overview](https://github.com/monitoring-mixins/website/blob/master/assets/squid/dashboards/squid-overview.json)
diff --git a/site/content/supabase/_index.md b/site/content/supabase/_index.md
new file mode 100644
index 0000000..3404110
--- /dev/null
+++ b/site/content/supabase/_index.md
@@ -0,0 +1,17 @@
+---
+title: supabase
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/supabase-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [supabase](https://github.com/monitoring-mixins/website/blob/master/assets/supabase/dashboards/supabase.json)
diff --git a/site/content/tensorflow/_index.md b/site/content/tensorflow/_index.md
new file mode 100644
index 0000000..c8d643a
--- /dev/null
+++ b/site/content/tensorflow/_index.md
@@ -0,0 +1,55 @@
+---
+title: tensorflow
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/tensorflow-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/tensorflow/alerts.yaml).
+{{< /panel >}}
+
+### TensorFlowServingAlerts
+
+##### TensorFlowModelRequestHighErrorRate
+
+{{< code lang="yaml" >}}
+alert: TensorFlowModelRequestHighErrorRate
+annotations:
+ description: '{{ printf "%.2f" $value }}% of all model requests are not successful,
+ which is above the threshold 30%, indicating a potentially larger issue for {{$labels.instance}}'
+ summary: More than 30% of all model requests are not successful.
+expr: |
+ 100 * sum(rate(:tensorflow:serving:request_count{status!="OK"}[5m])) by (instance) / sum(rate(:tensorflow:serving:request_count[5m])) by (instance) > 30
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### TensorFlowServingHighBatchQueuingLatency
+
+{{< code lang="yaml" >}}
+alert: TensorFlowServingHighBatchQueuingLatency
+annotations:
+ description: Batch queuing latency greater than {{ printf "%.2f" $value }}µs, which
+ is above the threshold 5000000µs, indicating a potentially larger issue for {{$labels.instance}}
+ summary: Batch queuing latency more than 5000000µs.
+expr: |
+ increase(:tensorflow:serving:batching_session:queuing_latency_sum[2m]) / increase(:tensorflow:serving:batching_session:queuing_latency_count[2m]) > 5000000
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [tensorflow-overview](https://github.com/monitoring-mixins/website/blob/master/assets/tensorflow/dashboards/tensorflow-overview.json)
diff --git a/site/content/traefik/_index.md b/site/content/traefik/_index.md
new file mode 100644
index 0000000..5f4a4e2
--- /dev/null
+++ b/site/content/traefik/_index.md
@@ -0,0 +1,17 @@
+---
+title: traefik
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/traefik-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [traefikdash](https://github.com/monitoring-mixins/website/blob/master/assets/traefik/dashboards/traefikdash.json)
diff --git a/site/content/ubnt-edgerouter/_index.md b/site/content/ubnt-edgerouter/_index.md
new file mode 100644
index 0000000..186462f
--- /dev/null
+++ b/site/content/ubnt-edgerouter/_index.md
@@ -0,0 +1,32 @@
+---
+title: ubnt-edgerouter
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/ubnt-edgerouter-mixin)
+{{< /panel >}}
+
+## Recording rules
+
+{{< panel style="warning" >}}
+Complete list of pregenerated recording rules is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/ubnt-edgerouter/rules.yaml).
+{{< /panel >}}
+
+### ubnt.rules
+
+##### ifNiceName
+
+{{< code lang="yaml" >}}
+expr: label_join(ifAdminStatus,"nicename", ":", "ifName", "ifAlias")
+record: ifNiceName
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [ubnt-edgrouterx-overview](https://github.com/monitoring-mixins/website/blob/master/assets/ubnt-edgerouter/dashboards/ubnt-edgrouterx-overview.json)
diff --git a/site/content/varnish/_index.md b/site/content/varnish/_index.md
new file mode 100644
index 0000000..4dcc750
--- /dev/null
+++ b/site/content/varnish/_index.md
@@ -0,0 +1,117 @@
+---
+title: varnish
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/varnish-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/varnish/alerts.yaml).
+{{< /panel >}}
+
+### varnish-cache
+
+##### VarnishCacheLowCacheHitRate
+
+{{< code lang="yaml" >}}
+alert: VarnishCacheLowCacheHitRate
+annotations:
+ description: The Cache hit rate is {{ printf "%.0f" $value }} percent over the last
+ 5 minutes on {{$labels.instance}}, which is below the threshold of 80 percent.
+ summary: Cache is not answering a sufficient percentage of read requests.
+expr: |
+ increase(varnish_main_cache_hit[10m]) / (clamp_min((increase(varnish_main_cache_hit[10m]) + increase(varnish_main_cache_miss[10m])), 1)) * 100 < 80 and (increase(varnish_main_cache_hit[10m]) + increase(varnish_main_cache_miss[10m]) > 0)
+for: 10m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### VarnishCacheHighMemoryUsage
+
+{{< code lang="yaml" >}}
+alert: VarnishCacheHighMemoryUsage
+annotations:
+ description: Current Memory Usage is {{ printf "%.0f" $value }} percent on {{$labels.instance}},
+ which is above the threshold of 90 percent.
+ summary: Varnish Cache is running low on available memory.
+expr: |
+ (varnish_sma_g_bytes{type="s0"} / (varnish_sma_g_bytes{type="s0"} + varnish_sma_g_space{type="s0"})) * 100 > 90
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### VarnishCacheHighCacheEvictionRate
+
+{{< code lang="yaml" >}}
+alert: VarnishCacheHighCacheEvictionRate
+annotations:
+ description: The Cache has evicted {{ printf "%.0f" $value }} objects over the last
+ 5 minutes on {{$labels.instance}}, which is above the threshold of 0.
+ summary: The cache is evicting too many objects.
+expr: |
+ increase(varnish_main_n_lru_nuked[5m]) > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### VarnishCacheHighSaturation
+
+{{< code lang="yaml" >}}
+alert: VarnishCacheHighSaturation
+annotations:
+ description: The thread queue length is {{ printf "%.0f" $value }} over the last
+ 5 minutes on {{$labels.instance}}, which is above the threshold of 0.
+ summary: There are too many threads in queue, Varnish is saturated and responses
+ are slowed.
+expr: |
+ varnish_main_thread_queue_len > 0
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### VarnishCacheSessionsDropping
+
+{{< code lang="yaml" >}}
+alert: VarnishCacheSessionsDropping
+annotations:
+ description: The amount of sessions dropped is {{ printf "%.0f" $value }} over the
+ last 5 minutes on {{$labels.instance}}, which is above the threshold of 0.
+ summary: Incoming requests are being dropped due to a lack of free worker threads.
+expr: |
+ increase(varnish_main_sessions{type="dropped"}[5m]) > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### VarnishCacheBackendUnhealthy
+
+{{< code lang="yaml" >}}
+alert: VarnishCacheBackendUnhealthy
+annotations:
+ description: The amount of unhealthy backend statuses detected is {{ printf "%.0f"
+ $value }} over the last 5 minutes on {{$labels.instance}}, which is above the
+ threshold of 0.
+ summary: Backend has been marked as unhealthy due to slow 200 responses.
+expr: |
+ increase(varnish_main_backend_unhealthy[5m]) > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [varnish-overview](https://github.com/monitoring-mixins/website/blob/master/assets/varnish/dashboards/varnish-overview.json)
diff --git a/site/content/vault/_index.md b/site/content/vault/_index.md
new file mode 100644
index 0000000..f7f3b0b
--- /dev/null
+++ b/site/content/vault/_index.md
@@ -0,0 +1,17 @@
+---
+title: vault
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/vault-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [vault](https://github.com/monitoring-mixins/website/blob/master/assets/vault/dashboards/vault.json)
diff --git a/site/content/velero/_index.md b/site/content/velero/_index.md
new file mode 100644
index 0000000..d01d467
--- /dev/null
+++ b/site/content/velero/_index.md
@@ -0,0 +1,86 @@
+---
+title: velero
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/velero-2-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/velero/alerts.yaml).
+{{< /panel >}}
+
+### velero
+
+##### VeleroBackupFailure
+
+{{< code lang="yaml" >}}
+alert: VeleroBackupFailure
+annotations:
+ description: |
+ Backup failures detected on {{ $labels.instance }}. This could lead to data loss or inability to recover in case of a disaster.
+ summary: Velero backup failures detected.
+expr: |
+ increase(velero_backup_failure_total{job=~"integrations/velero"}[5m]) > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### VeleroHighBackupDuration
+
+{{< code lang="yaml" >}}
+alert: VeleroHighBackupDuration
+annotations:
+ description: |
+ Backup duration on {{ $labels.instance }} is higher than the average duration over the past 48 hours. This could indicate performance issues or network congestion. The current value is {{ $value | printf "%.2f" }} seconds.
+ summary: Velero backups taking longer than usual.
+expr: |
+ histogram_quantile(0.5, sum(rate(velero_backup_duration_seconds_bucket{job=~"integrations/velero"}[5m])) by (le, schedule)) > 1.2 * 1.2 * avg_over_time(histogram_quantile(0.5, sum(rate(velero_backup_duration_seconds_bucket{job=~"integrations/velero"}[48h])) by (le, schedule))[5m:])
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### VeleroHighRestoreFailureRate
+
+{{< code lang="yaml" >}}
+alert: VeleroHighRestoreFailureRate
+annotations:
+ description: |
+ Restore failures detected on {{ $labels.instance }}. This could prevent timely data recovery and business continuity.
+ summary: Velero restore failures detected.
+expr: |
+ increase(velero_restore_failed_total{job=~"integrations/velero"}[5m]) > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### VeleroUpStatus
+
+{{< code lang="yaml" >}}
+alert: VeleroUpStatus
+annotations:
+ description: "Cannot find any metrics related to Velero on {{ $labels.instance }}.
+ This may indicate further issues with Velero or the scraping agent.
+"
+ summary: Velero is down.
+expr: |
+ up{job=~"integrations/velero"} != 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [*](https://github.com/monitoring-mixins/website/blob/master/assets/velero/dashboards/*.json)
diff --git a/site/content/wildfly/_index.md b/site/content/wildfly/_index.md
new file mode 100644
index 0000000..2a2dba0
--- /dev/null
+++ b/site/content/wildfly/_index.md
@@ -0,0 +1,56 @@
+---
+title: wildfly
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/wildfly-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/wildfly/alerts.yaml).
+{{< /panel >}}
+
+### wildfly
+
+##### HighPercentageOfErrorResponses
+
+{{< code lang="yaml" >}}
+alert: HighPercentageOfErrorResponses
+annotations:
+ description: |
+ The percentage of error responses is {{ printf "%.2f" $value }} on {{ $labels.instance }} - {{ $labels.server }} which is higher than {{30 }}.
+ summary: Large percentage of requests are resulting in 5XX responses.
+expr: |
+ sum by (job, instance, server) (increase(wildfly_undertow_error_count_total{}[5m]) / increase(wildfly_undertow_request_count_total{}[5m])) * 100 > 30
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### HighNumberOfRejectedSessionsForDeployment
+
+{{< code lang="yaml" >}}
+alert: HighNumberOfRejectedSessionsForDeployment
+annotations:
+ description: |
+ Deployemnt {{ $labels.deployment }} on {{ $labels.instance }} is exceeding the threshold for rejected sessions {{ printf "%.0f" $value }} is higher than 20.
+ summary: Large number of sessions are being rejected for a deployment.
+expr: |
+ sum by (deployment, instance, job) (increase(wildfly_undertow_rejected_sessions_total{}[5m])) > 20
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [wildfly-datasource](https://github.com/monitoring-mixins/website/blob/master/assets/wildfly/dashboards/wildfly-datasource.json)
+- [wildfly-overview](https://github.com/monitoring-mixins/website/blob/master/assets/wildfly/dashboards/wildfly-overview.json)
diff --git a/site/content/windows-active-directory/_index.md b/site/content/windows-active-directory/_index.md
new file mode 100644
index 0000000..53982d5
--- /dev/null
+++ b/site/content/windows-active-directory/_index.md
@@ -0,0 +1,199 @@
+---
+title: windows-active-directory
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/windows-active-directory-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/windows-active-directory/alerts.yaml).
+{{< /panel >}}
+
+### windows-alerts-active-directory
+
+##### WindowsCPUHighUsage
+
+{{< code lang="yaml" >}}
+alert: WindowsCPUHighUsage
+annotations:
+ description: |
+ CPU usage on host {{ $labels.instance }} is above 90%. The current value is {{ $value | printf "%.2f" }}%.
+ summary: High CPU usage on Windows host.
+expr: |
+ 100 - (avg without (mode, core) (rate(windows_cpu_time_total{job=~"integrations/windows_exporter", mode="idle"}[2m])) * 100) > 90
+for: 15m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### WindowsMemoryHighUtilization
+
+{{< code lang="yaml" >}}
+alert: WindowsMemoryHighUtilization
+annotations:
+ description: |
+ Memory usage on host {{ $labels.instance }} is above 90%. The current value is {{ $value | printf "%.2f" }}%.
+ summary: High memory usage on Windows host.
+expr: |
+ 100 - ((windows_os_physical_memory_free_bytes{job=~"integrations/windows_exporter"}
+ /
+ windows_cs_physical_memory_bytes{job=~"integrations/windows_exporter"}) * 100) > 90
+for: 15m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### WindowsDiskAlmostOutOfSpace
+
+{{< code lang="yaml" >}}
+alert: WindowsDiskAlmostOutOfSpace
+annotations:
+ description: |
+ Volume {{ $labels.volume }} is almost full on host {{ $labels.instance }}, more than 90% of space is used. The current volume utilization is {{ $value | printf "%.2f" }}%.
+ summary: Disk is almost full on Windows host.
+expr: |
+ 100 - ((windows_logical_disk_free_bytes{job=~"integrations/windows_exporter"} ) / (windows_logical_disk_size_bytes{job=~"integrations/windows_exporter"})) * 100 > 90
+for: 15m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### WindowsServiceNotHealthy
+
+{{< code lang="yaml" >}}
+alert: WindowsServiceNotHealthy
+annotations:
+ description: |
+ Windows service {{ $labels.name }} is not in healthy state, currently in '{{ $labels.status }}'.
+ summary: Windows service is not healthy.
+expr: |
+ windows_service_status{job=~"integrations/windows_exporter", status!~"starting|stopping|ok"} > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### WindowsDiskDriveNotHealthy
+
+{{< code lang="yaml" >}}
+alert: WindowsDiskDriveNotHealthy
+annotations:
+ description: |
+ Windows disk {{ $labels.name }} is not in healthy state, currently in '{{ $labels.status }}' status.
+ summary: Windows physical disk is not healthy.
+expr: |
+ windows_disk_drive_status{job=~"integrations/windows_exporter", status="OK"} != 1
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### WindowsNTPClientDelay
+
+{{< code lang="yaml" >}}
+alert: WindowsNTPClientDelay
+annotations:
+ description: |
+ 'Round-trip time of NTP client on instance {{ $labels.instance }} is greater than 1 second. Delay is {{ $value }} sec.'
+ summary: NTP client delay.
+expr: |
+ windows_time_ntp_round_trip_delay_seconds{job=~"integrations/windows_exporter"} > 1
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### WindowsNTPTimeOffset
+
+{{< code lang="yaml" >}}
+alert: WindowsNTPTimeOffset
+annotations:
+ description: |
+ 'NTP time offset for instance {{ $labels.instance }} is greater than 1 second. Offset is {{ $value }} sec.'
+ summary: NTP time offset is too large.
+expr: |
+ windows_time_computed_time_offset_seconds{job=~"integrations/windows_exporter"} > 1
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### WindowsActiveDirectoryHighPendingReplicationOperations
+
+{{< code lang="yaml" >}}
+alert: WindowsActiveDirectoryHighPendingReplicationOperations
+annotations:
+ description: The number of pending replication operations on {{$labels.instance}}
+ is {{ printf "%.0f" $value }} which is above the threshold of 50.
+ summary: There is a high number of pending replication operations in Active Directory.
+ A high number of pending operations sustained over a period of time can indicate
+ a problem with replication.
+expr: "windows_ad_replication_pending_operations{job=~\"integrations/windows_exporter\"}
+ >= 50
+"
+for: 10m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### WindowsActiveDirectoryHighReplicationSyncRequestFailures
+
+{{< code lang="yaml" >}}
+alert: WindowsActiveDirectoryHighReplicationSyncRequestFailures
+annotations:
+ description: The number of replication sync request failures on {{$labels.instance}}
+ is {{ printf "%.0f" $value }} which is above the threshold of 0.
+ summary: There are a number of replication synchronization request failures. These
+ can cause authentication failures, outdated information being propagated across
+ domain controllers, and potentially data loss or inconsistencies.
+expr: "increase(windows_ad_replication_sync_requests_schema_mismatch_failure_total{job=~\"integrations/windows_exporter\"}[5m])
+ > 0
+"
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### WindowsActiveDirectoryHighPasswordChanges
+
+{{< code lang="yaml" >}}
+alert: WindowsActiveDirectoryHighPasswordChanges
+annotations:
+ description: The number of password changes on {{$labels.instance}} is {{ printf
+ "%.0f" $value }} which is greater than the threshold of 25
+ summary: There is a high number of password changes. This may indicate unauthorized
+ changes or attacks.
+expr: |
+ increase(windows_ad_sam_password_changes_total{job=~"integrations/windows_exporter"}[5m]) > 25
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### WindowsActiveDirectoryMetricsDown
+
+{{< code lang="yaml" >}}
+alert: WindowsActiveDirectoryMetricsDown
+annotations:
+ description: There are no available metrics for Windows Active Directory integration
+ from instance {{$labels.instance}}.
+ summary: Windows Active Directory metrics are down.
+expr: |
+ up{job="integrations/windows_exporter"} == 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [*](https://github.com/monitoring-mixins/website/blob/master/assets/windows-active-directory/dashboards/*.json)
diff --git a/site/content/windows/_index.md b/site/content/windows/_index.md
new file mode 100644
index 0000000..65c2e55
--- /dev/null
+++ b/site/content/windows/_index.md
@@ -0,0 +1,132 @@
+---
+title: windows
+---
+
+## Overview
+
+Windows mixins based on flexible windows-observ-lib.
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/windows-mixin)
+{{< /panel >}}
+
+## Alerts
+
+{{< panel style="warning" >}}
+Complete list of pregenerated alerts is available [here](https://github.com/monitoring-mixins/website/blob/master/assets/windows/alerts.yaml).
+{{< /panel >}}
+
+### windows-alerts-windows
+
+##### WindowsCPUHighUsage
+
+{{< code lang="yaml" >}}
+alert: WindowsCPUHighUsage
+annotations:
+ description: |
+ CPU usage on host {{ $labels.instance }} is above 90%. The current value is {{ $value | printf "%.2f" }}%.
+ summary: High CPU usage on Windows host.
+expr: |
+ 100 - (avg without (mode, core) (rate(windows_cpu_time_total{job=~".*windows.*", mode="idle"}[2m])) * 100) > 90
+for: 15m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### WindowsMemoryHighUtilization
+
+{{< code lang="yaml" >}}
+alert: WindowsMemoryHighUtilization
+annotations:
+ description: |
+ Memory usage on host {{ $labels.instance }} is above 90%. The current value is {{ $value | printf "%.2f" }}%.
+ summary: High memory usage on Windows host.
+expr: |
+ 100 - ((windows_os_physical_memory_free_bytes{job=~".*windows.*"}
+ /
+ windows_cs_physical_memory_bytes{job=~".*windows.*"}) * 100) > 90
+for: 15m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### WindowsDiskAlmostOutOfSpace
+
+{{< code lang="yaml" >}}
+alert: WindowsDiskAlmostOutOfSpace
+annotations:
+ description: |
+ Volume {{ $labels.volume }} is almost full on host {{ $labels.instance }}, more than 90% of space is used. The current volume utilization is {{ $value | printf "%.2f" }}%.
+ summary: Disk is almost full on Windows host.
+expr: |
+ 100 - ((windows_logical_disk_free_bytes{job=~".*windows.*"} ) / (windows_logical_disk_size_bytes{job=~".*windows.*"})) * 100 > 90
+for: 15m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### WindowsServiceNotHealthy
+
+{{< code lang="yaml" >}}
+alert: WindowsServiceNotHealthy
+annotations:
+ description: |
+ Windows service {{ $labels.name }} is not in healthy state, currently in '{{ $labels.status }}'.
+ summary: Windows service is not healthy.
+expr: |
+ windows_service_status{job=~".*windows.*", status!~"starting|stopping|ok"} > 0
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### WindowsDiskDriveNotHealthy
+
+{{< code lang="yaml" >}}
+alert: WindowsDiskDriveNotHealthy
+annotations:
+ description: |
+ Windows disk {{ $labels.name }} is not in healthy state, currently in '{{ $labels.status }}' status.
+ summary: Windows physical disk is not healthy.
+expr: |
+ windows_disk_drive_status{job=~".*windows.*", status="OK"} != 1
+for: 5m
+labels:
+ severity: critical
+{{< /code >}}
+
+##### WindowsNTPClientDelay
+
+{{< code lang="yaml" >}}
+alert: WindowsNTPClientDelay
+annotations:
+ description: |
+ 'Round-trip time of NTP client on instance {{ $labels.instance }} is greater than 1 second. Delay is {{ $value }} sec.'
+ summary: NTP client delay.
+expr: |
+ windows_time_ntp_round_trip_delay_seconds{job=~".*windows.*"} > 1
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+##### WindowsNTPTimeOffset
+
+{{< code lang="yaml" >}}
+alert: WindowsNTPTimeOffset
+annotations:
+ description: |
+ 'NTP time offset for instance {{ $labels.instance }} is greater than 1 second. Offset is {{ $value }} sec.'
+ summary: NTP time offset is too large.
+expr: |
+ windows_time_computed_time_offset_seconds{job=~".*windows.*"} > 1
+for: 5m
+labels:
+ severity: warning
+{{< /code >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [*](https://github.com/monitoring-mixins/website/blob/master/assets/windows/dashboards/*.json)
diff --git a/site/content/wso2-enterprise-integrator/_index.md b/site/content/wso2-enterprise-integrator/_index.md
new file mode 100644
index 0000000..e5e1cb0
--- /dev/null
+++ b/site/content/wso2-enterprise-integrator/_index.md
@@ -0,0 +1,21 @@
+---
+title: wso2-enterprise-integrator
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/wso2-enterprise-integrator-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [API_Metrics](https://github.com/monitoring-mixins/website/blob/master/assets/wso2-enterprise-integrator/dashboards/API_Metrics.json)
+- [Cluster_Metrics](https://github.com/monitoring-mixins/website/blob/master/assets/wso2-enterprise-integrator/dashboards/Cluster_Metrics.json)
+- [Inbound_Endpoint_Metrics](https://github.com/monitoring-mixins/website/blob/master/assets/wso2-enterprise-integrator/dashboards/Inbound_Endpoint_Metrics.json)
+- [Node_Metrics](https://github.com/monitoring-mixins/website/blob/master/assets/wso2-enterprise-integrator/dashboards/Node_Metrics.json)
+- [Proxy_Service_Metrics](https://github.com/monitoring-mixins/website/blob/master/assets/wso2-enterprise-integrator/dashboards/Proxy_Service_Metrics.json)
diff --git a/site/content/wso2-streaming-integrator/_index.md b/site/content/wso2-streaming-integrator/_index.md
new file mode 100644
index 0000000..7642faf
--- /dev/null
+++ b/site/content/wso2-streaming-integrator/_index.md
@@ -0,0 +1,27 @@
+---
+title: wso2-streaming-integrator
+---
+
+## Overview
+
+
+
+{{< panel style="danger" >}}
+Jsonnet source code is available at [github.com/grafana/jsonnet-libs](https://github.com/grafana/jsonnet-libs/tree/master/wso2-streaming-integrator-mixin)
+{{< /panel >}}
+
+## Dashboards
+Following dashboards are generated from mixins and hosted on github:
+
+
+- [Siddhi_aggregation](https://github.com/monitoring-mixins/website/blob/master/assets/wso2-streaming-integrator/dashboards/Siddhi_aggregation.json)
+- [Siddhi_ondemandquery](https://github.com/monitoring-mixins/website/blob/master/assets/wso2-streaming-integrator/dashboards/Siddhi_ondemandquery.json)
+- [Siddhi_overall](https://github.com/monitoring-mixins/website/blob/master/assets/wso2-streaming-integrator/dashboards/Siddhi_overall.json)
+- [Siddhi_query](https://github.com/monitoring-mixins/website/blob/master/assets/wso2-streaming-integrator/dashboards/Siddhi_query.json)
+- [Siddhi_server](https://github.com/monitoring-mixins/website/blob/master/assets/wso2-streaming-integrator/dashboards/Siddhi_server.json)
+- [Siddhi_sink](https://github.com/monitoring-mixins/website/blob/master/assets/wso2-streaming-integrator/dashboards/Siddhi_sink.json)
+- [Siddhi_source](https://github.com/monitoring-mixins/website/blob/master/assets/wso2-streaming-integrator/dashboards/Siddhi_source.json)
+- [Siddhi_stream](https://github.com/monitoring-mixins/website/blob/master/assets/wso2-streaming-integrator/dashboards/Siddhi_stream.json)
+- [Siddhi_table](https://github.com/monitoring-mixins/website/blob/master/assets/wso2-streaming-integrator/dashboards/Siddhi_table.json)
+- [StreamingIntegrator_apps](https://github.com/monitoring-mixins/website/blob/master/assets/wso2-streaming-integrator/dashboards/StreamingIntegrator_apps.json)
+- [StreamingIntegrator_overall](https://github.com/monitoring-mixins/website/blob/master/assets/wso2-streaming-integrator/dashboards/StreamingIntegrator_overall.json)
diff --git a/site/static/mixins.json b/site/static/mixins.json
index 2c283fe..b489cb5 100644
--- a/site/static/mixins.json
+++ b/site/static/mixins.json
@@ -129,6 +129,388 @@
"name": "grafana",
"source": "https://github.com/grafana/grafana",
"subdir": "grafana-mixin"
+ },
+ {
+ "name": "mysql",
+ "source": "https://github.com/prometheus/mysqld_exporter",
+ "subdir": "mysqld-mixin"
+ },
+ {
+ "name": "blackbox_exporter",
+ "source": "https://github.com/adinhodovic/blackbox-exporter-mixin/",
+ "subdir": ""
+ },
+ {
+ "name": "aerospike",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "aerospike-mixin"
+ },
+ {
+ "name": "apache-activemq",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-activemq-mixin"
+ },
+ {
+ "name": "apache-airflow",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-airflow-mixin"
+ },
+ {
+ "name": "apache-cassandra",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-cassandra-mixin"
+ },
+ {
+ "name": "apache-camel",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-camel-mixin"
+ },
+ {
+ "name": "apache-couchdb",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-couchdb-mixin"
+ },
+ {
+ "name": "apache-hadoop",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-hadoop-mixin"
+ },
+ {
+ "name": "apache-hbase",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-hbase-mixin"
+ },
+ {
+ "name": "apache-http",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-http-mixin"
+ },
+ {
+ "name": "apache-mesos",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-mesos-mixin"
+ },
+ {
+ "name": "apache-solr",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-solr-mixin"
+ },
+ {
+ "name": "apache-tomcat",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "apache-tomcat-mixin"
+ },
+ {
+ "name": "argocd",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "argocd-mixin"
+ },
+ {
+ "name": "asterisk",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "asterisk-mixin"
+ },
+ {
+ "name": "awx",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "awx-mixin"
+ },
+ {
+ "name": "caddy",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "caddy-mixin"
+ },
+ {
+ "name": "cilium-enterprise",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "cilium-enterprise-mixin"
+ },
+ {
+ "name": "clickhouse",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "clickhouse-mixin"
+ },
+ {
+ "name": "cloudflare",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "cloudflare-mixin"
+ },
+ {
+ "name": "confluent-kafka",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "confluent-kafka-mixin"
+ },
+ {
+ "name": "couchbase",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "couchbase-mixin"
+ },
+ {
+ "name": "discourse",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "discourse-mixin"
+ },
+ {
+ "name": "docker",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "docker-mixin",
+ "description": "A set of Grafana dashboards for Docker (based on cadvisor)."
+ },
+ {
+ "name": "elasticsearch",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "dockelasticsearcher-mixin"
+ },
+ {
+ "name": "envoy",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "envoy-mixin"
+ },
+ {
+ "name": "f5-bigip",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "f5-bigip-mixin"
+ },
+ {
+ "name": "gitlab",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "gitlab-mixin"
+ },
+ {
+ "name": "go-runtime",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "go-runtime-mixin"
+ },
+ {
+ "name": "haproxy",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "haproxy-mixin"
+ },
+ {
+ "name": "harbor",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "harbor-mixin"
+ },
+ {
+ "name": "hass",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "hass-mixin"
+ },
+ {
+ "name": "ibm-mq",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "ibm-mq-mixin"
+ },
+ {
+ "name": "influxdb",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "influxdb-mixin"
+ },
+ {
+ "name": "istio",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "istio-2-mixin"
+ },
+ {
+ "name": "jenkins",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "jenkins-mixin"
+ },
+ {
+ "name": "jira",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "jira-mixin"
+ },
+ {
+ "name": "jvm",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "jvm-mixin"
+ },
+ {
+ "name": "kafka",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "kafka-mixin"
+ },
+ {
+ "name": "microsoft-iis",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "microsoft-iis-mixin"
+ },
+ {
+ "name": "mongodb",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "mongodb-mixin"
+ },
+ {
+ "name": "mongodb-atlas",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "mongodb-atlas-mixin"
+ },
+ {
+ "name": "MSSQL",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "mssql-mixin"
+ },
+ {
+ "name": "nginx",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "nginx-mixin"
+ },
+ {
+ "name": "nodejs",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "nodejs-mixin"
+ },
+ {
+ "name": "nomad",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "nomad-mixin"
+ },
+ {
+ "name": "nsq",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "nsq-mixin"
+ },
+ {
+ "name": "openldap",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "openldap-mixin"
+ },
+ {
+ "name": "opensearch",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "opensearch-mixin"
+ },
+ {
+ "name": "openstack",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "openstack-mixin"
+ },
+ {
+ "name": "oracledb",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "oracledb-mixin"
+ },
+ {
+ "name": "pgbouncer",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "pgbouncer-mixin"
+ },
+ {
+ "name": "presto",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "presto-mixin"
+ },
+ {
+ "name": "python-runtime",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "python-runtime-mixin"
+ },
+ {
+ "name": "rabbitmq",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "rabbitmq-mixin"
+ },
+ {
+ "name": "rclone",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "rclone-mixin"
+ },
+ {
+ "name": "redis",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "redis-mixin"
+ },
+ {
+ "name": "ruby",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "ruby-mixin"
+ },
+ {
+ "name": "sap-hana",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "sap-hana-mixin"
+ },
+ {
+ "name": "snmp",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "snmp-mixin"
+ },
+ {
+ "name": "spark",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "spark-mixin"
+ },
+ {
+ "name": "spring-boot",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "spring-boot-mixin"
+ },
+ {
+ "name": "squid",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "squid-mixin"
+ },
+ {
+ "name": "supabase",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "supabase-mixin"
+ },
+ {
+ "name": "tensorflow",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "tensorflow-mixin"
+ },
+ {
+ "name": "traefik",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "traefik-mixin"
+ },
+ {
+ "name": "ubnt-edgerouter",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "ubnt-edgerouter-mixin"
+ },
+ {
+ "name": "varnish",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "varnish-mixin"
+ },
+ {
+ "name": "vault",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "vault-mixin"
+ },
+ {
+ "name": "velero",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "velero-2-mixin"
+ },
+ {
+ "name": "wildfly",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "wildfly-mixin"
+ },
+ {
+ "name": "windows",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "windows-mixin",
+ "description": "Windows mixins based on flexible windows-observ-lib."
+ },
+ {
+ "name": "windows-active-directory",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "windows-active-directory-mixin"
+ },
+ {
+ "name": "wso2-enterprise-integrator",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "wso2-enterprise-integrator-mixin"
+ },
+ {
+ "name": "wso2-streaming-integrator",
+ "source": "https://github.com/grafana/jsonnet-libs",
+ "subdir": "wso2-streaming-integrator-mixin"
}
]
-}
+}
\ No newline at end of file