diff --git a/dashboards/scylladb/metadata.yaml b/dashboards/scylladb/metadata.yaml index 27a72624ca..13edc16023 100644 --- a/dashboards/scylladb/metadata.yaml +++ b/dashboards/scylladb/metadata.yaml @@ -8,3 +8,14 @@ sample_dashboards: related_integrations: - id: scylladb platform: GKE + version: "1" + - + category: ScyllaDB + id: scylladb-prometheus-v2 + display_name: ScyllaDB 5.2+ Prometheus Overview + description: |- + This dashboard has various charts displaying metrics related to: Node Status, Resource Utilization, Read Performance, Write Performance, and Cache + related_integrations: + - id: scylladb + platform: GKE + version: "2" diff --git a/dashboards/scylladb/scylladb-prometheus-v2.01.png b/dashboards/scylladb/scylladb-prometheus-v2.01.png new file mode 100644 index 0000000000..39e9e994c7 Binary files /dev/null and b/dashboards/scylladb/scylladb-prometheus-v2.01.png differ diff --git a/dashboards/scylladb/scylladb-prometheus-v2.02.png b/dashboards/scylladb/scylladb-prometheus-v2.02.png new file mode 100644 index 0000000000..ae60ecd4a2 Binary files /dev/null and b/dashboards/scylladb/scylladb-prometheus-v2.02.png differ diff --git a/dashboards/scylladb/scylladb-prometheus-v2.03.png b/dashboards/scylladb/scylladb-prometheus-v2.03.png new file mode 100644 index 0000000000..16c4c647b2 Binary files /dev/null and b/dashboards/scylladb/scylladb-prometheus-v2.03.png differ diff --git a/dashboards/scylladb/scylladb-prometheus-v2.04.png b/dashboards/scylladb/scylladb-prometheus-v2.04.png new file mode 100644 index 0000000000..24fde8782f Binary files /dev/null and b/dashboards/scylladb/scylladb-prometheus-v2.04.png differ diff --git a/dashboards/scylladb/scylladb-prometheus-v2.json b/dashboards/scylladb/scylladb-prometheus-v2.json new file mode 100644 index 0000000000..cd105cc91d --- /dev/null +++ b/dashboards/scylladb/scylladb-prometheus-v2.json @@ -0,0 +1,424 @@ +{ + "category": "CUSTOM", + "dashboardFilters": [ + { + "filterType": "RESOURCE_LABEL", + "labelKey": "cluster", + "templateVariable": "Cluster" + }, + { + "filterType": "RESOURCE_LABEL", + "labelKey": "location", + "templateVariable": "Location" + }, + { + "filterType": "RESOURCE_LABEL", + "labelKey": "namespace", + "templateVariable": "Namespace" + } + ], + "displayName": "ScyllaDB 5.2+ Prometheus Overview", + "labels": {}, + "mosaicLayout": { + "columns": 12, + "tiles": [ + { + "height": 4, + "widget": { + "timeSeriesTable": { + "dataSets": [ + { + "timeSeriesQuery": { + "prometheusQuery": "scylla_node_operation_mode{${Cluster},${Location},${Namespace}}" + } + } + ], + "metricVisualization": "NUMBER" + }, + "title": "Node status" + }, + "width": 12, + "xPos": 0, + "yPos": 0 + }, + { + "height": 4, + "widget": { + "title": "Cache Bytes Used", + "xyChart": { + "chartOptions": { + "mode": "COLOR" + }, + "dataSets": [ + { + "breakdowns": [], + "dimensions": [], + "measures": [], + "plotType": "LINE", + "targetAxis": "Y1", + "timeSeriesQuery": { + "prometheusQuery": "scylla_cache_bytes_used{${Cluster},${Location},${Namespace}}", + "unitOverride": "" + } + } + ], + "thresholds": [], + "timeshiftDuration": "0s", + "yAxis": { + "label": "", + "scale": "LINEAR" + } + } + }, + "width": 12, + "xPos": 0, + "yPos": 7 + }, + { + "height": 1, + "widget": { + "collapsibleGroup": { + "collapsed": false + }, + "title": "Resource Utilization" + }, + "width": 12, + "xPos": 0, + "yPos": 4 + }, + { + "height": 1, + "widget": { + "collapsibleGroup": { + "collapsed": true + }, + "title": "Read Performance" + }, + "width": 12, + "xPos": 0, + "yPos": 5 + }, + { + "height": 1, + "widget": { + "collapsibleGroup": { + "collapsed": true + }, + "title": "Write Performance" + }, + "width": 12, + "xPos": 0, + "yPos": 6 + }, + { + "height": 1, + "widget": { + "collapsibleGroup": { + "collapsed": true + }, + "title": "Cache" + }, + "width": 12, + "xPos": 0, + "yPos": 7 + }, + { + "height": 4, + "widget": { + "title": "Requests Served", + "xyChart": { + "chartOptions": { + "mode": "COLOR" + }, + "dataSets": [ + { + "breakdowns": [], + "dimensions": [], + "measures": [], + "plotType": "LINE", + "targetAxis": "Y1", + "timeSeriesQuery": { + "prometheusQuery": "scylla_transport_requests_served{${Cluster},${Location},${Namespace}}", + "unitOverride": "" + } + } + ], + "thresholds": [], + "timeshiftDuration": "0s", + "yAxis": { + "label": "", + "scale": "LINEAR" + } + } + }, + "width": 6, + "xPos": 0, + "yPos": 8 + }, + { + "height": 4, + "widget": { + "title": "CPU Utilization", + "xyChart": { + "chartOptions": { + "mode": "COLOR" + }, + "dataSets": [ + { + "breakdowns": [], + "dimensions": [], + "measures": [], + "plotType": "LINE", + "targetAxis": "Y1", + "timeSeriesQuery": { + "prometheusQuery": "scylla_reactor_utilization{${Cluster},${Location},${Namespace}}", + "unitOverride": "" + } + } + ], + "thresholds": [], + "timeshiftDuration": "0s", + "yAxis": { + "label": "", + "scale": "LINEAR" + } + } + }, + "width": 12, + "xPos": 0, + "yPos": 4 + }, + { + "height": 4, + "widget": { + "title": "Read Requests", + "xyChart": { + "chartOptions": { + "mode": "COLOR" + }, + "dataSets": [ + { + "breakdowns": [], + "dimensions": [], + "measures": [], + "plotType": "LINE", + "targetAxis": "Y1", + "timeSeriesQuery": { + "prometheusQuery": "scylla_storage_proxy_coordinator_reads_local_node{${Cluster},${Location},${Namespace}}", + "unitOverride": "" + } + } + ], + "thresholds": [], + "timeshiftDuration": "0s", + "yAxis": { + "label": "", + "scale": "LINEAR" + } + } + }, + "width": 6, + "xPos": 0, + "yPos": 5 + }, + { + "height": 4, + "widget": { + "title": "Read Latency", + "xyChart": { + "chartOptions": { + "mode": "COLOR" + }, + "dataSets": [ + { + "breakdowns": [], + "dimensions": [], + "measures": [], + "plotType": "LINE", + "targetAxis": "Y1", + "timeSeriesQuery": { + "prometheusQuery": "scylla_storage_proxy_coordinator_read_latency_sum{${Cluster},${Location},${Namespace}}", + "unitOverride": "" + } + } + ], + "thresholds": [], + "timeshiftDuration": "0s", + "yAxis": { + "label": "", + "scale": "LINEAR" + } + } + }, + "width": 6, + "xPos": 6, + "yPos": 5 + }, + { + "height": 4, + "widget": { + "title": "Write Requests", + "xyChart": { + "chartOptions": { + "mode": "COLOR" + }, + "dataSets": [ + { + "breakdowns": [], + "dimensions": [], + "measures": [], + "plotType": "LINE", + "targetAxis": "Y1", + "timeSeriesQuery": { + "prometheusQuery": "scylla_storage_proxy_coordinator_total_write_attempts_local_node{${Cluster},${Location},${Namespace}}", + "unitOverride": "" + } + } + ], + "thresholds": [], + "timeshiftDuration": "0s", + "yAxis": { + "label": "", + "scale": "LINEAR" + } + } + }, + "width": 6, + "xPos": 0, + "yPos": 6 + }, + { + "height": 4, + "widget": { + "title": "Write Latency", + "xyChart": { + "chartOptions": { + "mode": "COLOR" + }, + "dataSets": [ + { + "breakdowns": [], + "dimensions": [], + "measures": [], + "plotType": "LINE", + "targetAxis": "Y1", + "timeSeriesQuery": { + "prometheusQuery": "scylla_storage_proxy_coordinator_write_latency_sum{${Cluster},${Location},${Namespace}}", + "unitOverride": "" + } + } + ], + "thresholds": [], + "timeshiftDuration": "0s", + "yAxis": { + "label": "", + "scale": "LINEAR" + } + } + }, + "width": 6, + "xPos": 6, + "yPos": 6 + }, + { + "height": 4, + "widget": { + "title": "Cache Partition Hits", + "xyChart": { + "chartOptions": { + "mode": "COLOR" + }, + "dataSets": [ + { + "breakdowns": [], + "dimensions": [], + "measures": [], + "plotType": "LINE", + "targetAxis": "Y1", + "timeSeriesQuery": { + "prometheusQuery": "scylla_cache_partition_hits{${Cluster},${Location},${Namespace}}", + "unitOverride": "" + } + } + ], + "thresholds": [], + "timeshiftDuration": "0s", + "yAxis": { + "label": "", + "scale": "LINEAR" + } + } + }, + "width": 6, + "xPos": 0, + "yPos": 11 + }, + { + "height": 4, + "widget": { + "title": "Cache Partition Misses", + "xyChart": { + "chartOptions": { + "mode": "COLOR" + }, + "dataSets": [ + { + "breakdowns": [], + "dimensions": [], + "measures": [], + "plotType": "LINE", + "targetAxis": "Y1", + "timeSeriesQuery": { + "prometheusQuery": "scylla_cache_partition_misses{${Cluster},${Location},${Namespace}}", + "unitOverride": "" + } + } + ], + "thresholds": [], + "timeshiftDuration": "0s", + "yAxis": { + "label": "", + "scale": "LINEAR" + } + } + }, + "width": 6, + "xPos": 6, + "yPos": 11 + }, + { + "height": 4, + "widget": { + "title": "Active Compactions", + "xyChart": { + "chartOptions": { + "mode": "COLOR" + }, + "dataSets": [ + { + "breakdowns": [], + "dimensions": [], + "measures": [], + "plotType": "LINE", + "targetAxis": "Y1", + "timeSeriesQuery": { + "prometheusQuery": "scylla_compaction_manager_compactions{${Cluster},${Location},${Namespace}}", + "unitOverride": "" + } + } + ], + "thresholds": [], + "timeshiftDuration": "0s", + "yAxis": { + "label": "", + "scale": "LINEAR" + } + } + }, + "width": 6, + "xPos": 6, + "yPos": 8 + } + ] + } + } diff --git a/integrations/scylladb/prometheus_metadata.yaml b/integrations/scylladb/prometheus_metadata.yaml index 1d3f4dd69f..92fa2c1911 100644 --- a/integrations/scylladb/prometheus_metadata.yaml +++ b/integrations/scylladb/prometheus_metadata.yaml @@ -1,5 +1,6 @@ platforms: - type: GKE + version: '1' launch_stage: GA exporter_metadata: name: ScyllaDB Prometheus Exporter @@ -7,7 +8,7 @@ platforms: minimum_supported_version: "5.0" detections: - characteristic_metric: - metric_type: prometheus.googleapis.com/scylla_node_operation_mode/gauge + metric_type: prometheus.googleapis.com/scylla_storage_proxy_coordinator_write_timeouts/counter default_metrics: - name: prometheus.googleapis.com/scylla_node_operation_mode/gauge prometheus_name: scylla_node_operation_mode @@ -37,6 +38,10 @@ platforms: prometheus_name: scylla_storage_proxy_coordinator_read_timeouts kind: CUMULATIVE value_type: DOUBLE + - name: prometheus.googleapis.com/scylla_storage_proxy_coordinator_writes_coordinator_outside_replica_set/counter + prometheus_name: scylla_storage_proxy_coordinator_writes_coordinator_outside_replica_set + kind: CUMULATIVE + value_type: DOUBLE - name: prometheus.googleapis.com/scylla_storage_proxy_coordinator_write_latency_sum/counter prometheus_name: scylla_storage_proxy_coordinator_write_latency_sum kind: CUMULATIVE @@ -70,3 +75,71 @@ platforms: kind: CUMULATIVE value_type: DOUBLE install_documentation_url: https://cloud.google.com/stackdriver/docs/managed-prometheus/exporters/scylladb + - type: GKE + version: '2' + launch_stage: GA + exporter_metadata: + name: ScyllaDB Prometheus Exporter + doc_url: https://monitoring.docs.scylladb.com/stable/reference/monitoring_apis.html + minimum_supported_version: "5.2" + detections: + - characteristic_metric: + metric_type: prometheus.googleapis.com/scylla_storage_proxy_coordinator_total_write_attempts_local_node/counter + default_metrics: + - name: prometheus.googleapis.com/scylla_node_operation_mode/gauge + prometheus_name: scylla_node_operation_mode + kind: GAUGE + value_type: DOUBLE + - name: prometheus.googleapis.com/scylla_reactor_utilization/gauge + prometheus_name: scylla_reactor_utilization + kind: GAUGE + value_type: DOUBLE + - name: prometheus.googleapis.com/scylla_transport_requests_served/counter + prometheus_name: scylla_transport_requests_served + kind: CUMULATIVE + value_type: DOUBLE + - name: prometheus.googleapis.com/scylla_compaction_manager_compactions/gauge + prometheus_name: scylla_compaction_manager_compactions + kind: GAUGE + value_type: DOUBLE + - name: prometheus.googleapis.com/scylla_storage_proxy_coordinator_reads_local_node/counter + prometheus_name: scylla_storage_proxy_coordinator_reads_local_node + kind: CUMULATIVE + value_type: DOUBLE + - name: prometheus.googleapis.com/scylla_storage_proxy_coordinator_read_latency_sum/counter + prometheus_name: scylla_storage_proxy_coordinator_read_latency_sum + kind: CUMULATIVE + value_type: DOUBLE + - name: prometheus.googleapis.com/scylla_storage_proxy_coordinator_total_write_attempts_local_node/counter + prometheus_name: scylla_storage_proxy_coordinator_total_write_attempts_local_node + kind: CUMULATIVE + value_type: DOUBLE + - name: prometheus.googleapis.com/scylla_storage_proxy_coordinator_write_latency_sum/counter + prometheus_name: scylla_storage_proxy_coordinator_write_latency_sum + kind: CUMULATIVE + value_type: DOUBLE + - name: prometheus.googleapis.com/scylla_cache_bytes_used/gauge + prometheus_name: scylla_cache_bytes_used + kind: GAUGE + value_type: DOUBLE + - name: prometheus.googleapis.com/scylla_cache_partition_hits/counter + prometheus_name: scylla_cache_partition_hits + kind: CUMULATIVE + value_type: DOUBLE + - name: prometheus.googleapis.com/scylla_cache_partition_misses/counter + prometheus_name: scylla_cache_partition_misses + kind: CUMULATIVE + value_type: DOUBLE + - name: prometheus.googleapis.com/scylla_scheduler_shares/gauge + prometheus_name: scylla_scheduler_shares + kind: GAUGE + value_type: DOUBLE + - name: prometheus.googleapis.com/scylla_cql_prepared_cache_evictions/counter + prometheus_name: scylla_cql_prepared_cache_evictions + kind: CUMULATIVE + value_type: DOUBLE + - name: prometheus.googleapis.com/scylla_cql_authorized_prepared_statements_cache_evictions/counter + prometheus_name: scylla_cql_authorized_prepared_statements_cache_evictions + kind: CUMULATIVE + value_type: DOUBLE + install_documentation_url: https://cloud.google.com/stackdriver/docs/managed-prometheus/exporters/scylladb