summaryrefslogtreecommitdiffstats
path: root/monitoring
diff options
context:
space:
mode:
authorAashish Sharma <aasharma@li-e74156cc-2f67-11b2-a85c-e98659a63c5c.ibm.com>2024-02-06 14:08:31 +0100
committerAashish Sharma <aasharma@li-e74156cc-2f67-11b2-a85c-e98659a63c5c.ibm.com>2024-02-09 16:44:27 +0100
commita572a0c167cddc50902665f38e4cb937b695668d (patch)
treef8568c6bbb84f1eb7959ea09e388073545acb5e1 /monitoring
parentMerge pull request #53521 from xxhdx1985126/wip-62857 (diff)
downloadceph-a572a0c167cddc50902665f38e4cb937b695668d.tar.xz
ceph-a572a0c167cddc50902665f38e4cb937b695668d.zip
mgr/dashboard: Add RGW per user/bucket panels in grafana
Fixes: https://tracker.ceph.com/issues/64359 Signed-off-by: Aashish Sharma <aasharma@redhat.com>
Diffstat (limited to 'monitoring')
-rw-r--r--monitoring/ceph-mixin/dashboards.libsonnet1
-rw-r--r--monitoring/ceph-mixin/dashboards/rgw-s3-analytics.libsonnet2446
-rw-r--r--monitoring/ceph-mixin/dashboards/utils.libsonnet10
-rw-r--r--monitoring/ceph-mixin/dashboards_out/rgw-s3-analytics.json4695
-rw-r--r--monitoring/ceph-mixin/tests_dashboards/util.py2
5 files changed, 7153 insertions, 1 deletions
diff --git a/monitoring/ceph-mixin/dashboards.libsonnet b/monitoring/ceph-mixin/dashboards.libsonnet
index 4c67f21c039..8cb0bcceaf7 100644
--- a/monitoring/ceph-mixin/dashboards.libsonnet
+++ b/monitoring/ceph-mixin/dashboards.libsonnet
@@ -7,5 +7,6 @@
(import 'dashboards/rbd.libsonnet') +
(import 'dashboards/rgw.libsonnet') +
(import 'dashboards/ceph-cluster.libsonnet') +
+ (import 'dashboards/rgw-s3-analytics.libsonnet') +
{ _config:: $._config },
}
diff --git a/monitoring/ceph-mixin/dashboards/rgw-s3-analytics.libsonnet b/monitoring/ceph-mixin/dashboards/rgw-s3-analytics.libsonnet
new file mode 100644
index 00000000000..c470dbe5f19
--- /dev/null
+++ b/monitoring/ceph-mixin/dashboards/rgw-s3-analytics.libsonnet
@@ -0,0 +1,2446 @@
+local g = import 'grafonnet/grafana.libsonnet';
+
+(import 'utils.libsonnet') {
+ 'rgw-s3-analytics.json':
+ $.dashboardSchema(
+ 'RGW S3 Analytics',
+ '',
+ 'BnxelG7Sz',
+ 'now-1h',
+ '30s',
+ 22,
+ $._config.dashboardTags,
+ ''
+ )
+ .addAnnotation(
+ $.addAnnotationSchema(
+ 1,
+ '-- Grafana --',
+ true,
+ true,
+ 'rgba(0, 211, 255, 1)',
+ 'Annotations & Alerts',
+ 'dashboard'
+ )
+ )
+
+ .addTemplate(
+ g.template.datasource('datasource', 'prometheus', 'default', label='Data Source')
+ )
+
+ .addTemplate(
+ $.addTemplateSchema('rgw_servers',
+ '$datasource',
+ 'label_values(ceph_rgw_metadata{}, ceph_daemon)',
+ 2,
+ true,
+ 0,
+ null,
+ '')
+ )
+
+ .addTemplate(
+ g.template.adhoc('Filters', '$datasource', 'filters', 0)
+ )
+
+
+ .addPanels([
+ $.addRowSchema(false, true, 'Overview') + { gridPos: { x: 0, y: 0, w: 24, h: 1 } },
+ $.addStatPanel(
+ title='Total PUTs',
+ datasource='${datasource}',
+ gridPosition={ x: 0, y: 1, w: 6, h: 3 },
+ graphMode='none',
+ colorMode='none',
+ unit='decbytes',
+ orientation='auto',
+ justifyMode='auto',
+ thresholdsMode='absolute',
+ pluginVersion='9.4.7',
+ ).addThresholds([
+ { color: 'green', value: null },
+ { color: 'red', value: 80 },
+ ])
+ .addTargets([
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_put_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='__auto',
+ range=true
+ ),
+ ]),
+
+ $.addStatPanel(
+ title='Total GETs',
+ datasource='${datasource}',
+ gridPosition={ x: 6, y: 1, w: 6, h: 3 },
+ graphMode='none',
+ colorMode='none',
+ unit='decbytes',
+ orientation='auto',
+ justifyMode='auto',
+ thresholdsMode='absolute',
+ pluginVersion='9.4.7',
+ ).addThresholds([
+ { color: 'green', value: null },
+ { color: 'red', value: 80 },
+ ])
+ .addTargets([
+ $.addTargetSchema(
+ expr='sum\n(ceph_rgw_op_get_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='__auto',
+ range=true
+ ),
+ ]),
+
+ $.addStatPanel(
+ title='Total Objects',
+ datasource='${datasource}',
+ gridPosition={ x: 12, y: 1, w: 6, h: 3 },
+ graphMode='none',
+ colorMode='none',
+ unit='none',
+ orientation='auto',
+ justifyMode='auto',
+ thresholdsMode='absolute',
+ pluginVersion='9.4.7',
+ ).addThresholds([
+ { color: 'green', value: null },
+ { color: 'red', value: 80 },
+ ])
+ .addTargets([
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_put_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='__auto',
+ range=true
+ ),
+ ]),
+
+ $.addStatPanel(
+ title='Average Object Size',
+ datasource='${datasource}',
+ gridPosition={ x: 18, y: 1, w: 6, h: 3 },
+ graphMode='none',
+ colorMode='none',
+ unit='decbytes',
+ orientation='auto',
+ justifyMode='auto',
+ thresholdsMode='absolute',
+ pluginVersion='9.4.7',
+ ).addThresholds([
+ { color: 'green', value: null },
+ { color: 'red', value: 80 },
+ ])
+ .addTargets([
+ $.addTargetSchema(
+ expr='sum\n((sum by(instance_id)(ceph_rgw_op_put_obj_bytes) > 0) / (sum by(instance_id)(ceph_rgw_op_put_obj_ops) > 0) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='__auto',
+ range=true
+ ),
+ ]),
+
+ $.addBarGaugePanel(
+ title='Total Operations',
+ datasource='${datasource}',
+ gridPosition={ x: 0, y: 4, w: 8, h: 8 },
+ unit='none',
+ thresholds={ color: 'green', value: null }
+ )
+ .addTargets([
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_list_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='List Objects',
+ range=false,
+ instant=true
+ ),
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_list_buckets_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='List Buckets',
+ range=true
+ ),
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_put_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='Put Objects',
+ range=false,
+ instant=true
+ ),
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_per_bucket_get_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='Get Objects',
+ range=false,
+ instant=true
+ ),
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_del_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='Delete Objects',
+ range=false,
+ instant=true
+ ),
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_del_bucket_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='Delete Buckets',
+ range=false,
+ instant=true
+ ),
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_copy_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='Copy Objects',
+ range=true
+ ),
+ ]) + { fieldConfig: { defaults: { color: { mode: 'thresholds' }, thresholds: { mode: 'absolute', steps: [{ color: 'green', value: null }] } } } }
+ + { options: { orientation: 'horizontal', reduceOptions: { calcs: ['lastNotNull'] }, displayMode: 'gradient' } },
+
+
+ $.addBarGaugePanel(
+ title='Total Size',
+ datasource='${datasource}',
+ gridPosition={ x: 8, y: 4, w: 8, h: 8 },
+ unit='none',
+ thresholds={ color: 'green', value: null }
+ )
+ .addTargets([
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_put_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='Put Objects',
+ range=false,
+ instant=true
+ ),
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_per_bucket_get_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='Get Objects',
+ range=false,
+ instant=true
+ ),
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_del_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='Delete Objects',
+ range=false,
+ instant=true
+ ),
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_copy_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='Copy Objects',
+ range=true
+ ),
+ ]) + { fieldConfig: { defaults: { color: { mode: 'thresholds' }, thresholds: { mode: 'absolute', steps: [{ color: 'green', value: null }] } }, overrides: [{ matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'unit', value: 'decbytes' }] }] } }
+ + { options: { orientation: 'horizontal', reduceOptions: { calcs: ['lastNotNull'] }, displayMode: 'gradient' } },
+
+ $.addBarGaugePanel(
+ title='Total Latencies',
+ datasource='${datasource}',
+ gridPosition={ x: 16, y: 4, w: 8, h: 8 },
+ unit='none',
+ thresholds={ color: 'green', value: null }
+ )
+ .addTargets([
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_list_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='List Object',
+ range=false,
+ instant=true
+ ),
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_list_buckets_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='List Bucket',
+ range=true
+ ),
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_put_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='Put Object',
+ range=false,
+ instant=true
+ ),
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_get_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='Get Object',
+ range=false,
+ instant=true
+ ),
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_del_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='Delete Object',
+ range=false,
+ instant=true
+ ),
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_del_bucket_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='Delete Bucket',
+ range=false,
+ instant=true
+ ),
+ $.addTargetSchema(
+ expr='sum(ceph_rgw_op_copy_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ legendFormat='Copy Object',
+ range=true
+ ),
+ ]) + { fieldConfig: { defaults: { color: { mode: 'thresholds' }, thresholds: { mode: 'absolute', steps: [{ color: 'green', value: null }] } }, overrides: [{ matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'unit', value: 'ms' }] }] } }
+ + { options: { orientation: 'horizontal', reduceOptions: { calcs: ['lastNotNull'] }, displayMode: 'gradient' } },
+
+
+ $.addTableExtended(
+ datasource='${datasource}',
+ title='Summary Per Bucket by Bandwidth',
+ gridPosition={ h: 8, w: 12, x: 0, y: 12 },
+ options={
+ footer: {
+ fields: '',
+ reducer: ['sum'],
+ countRows: false,
+ enablePagination: false,
+ show: false,
+ },
+ frameIndex: 1,
+ showHeader: true,
+ sortBy: [
+ {
+ desc: true,
+ displayName: 'PUTs',
+ },
+ ],
+ },
+ custom={ align: 'auto', cellOptions: { type: 'color-text' }, filterable: false, inspect: false },
+ thresholds={
+ mode: 'absolute',
+ steps: [
+ { color: 'green', value: null },
+ ],
+ },
+ overrides=[{
+ matcher: { id: 'byType', options: 'number' },
+ properties: [
+ { id: 'unit', value: 'decbytes' },
+ ],
+ }],
+ pluginVersion='9.4.7'
+ )
+ .addTransformations([
+ {
+ id: 'merge',
+ options: {},
+ },
+ {
+ id: 'groupBy',
+ options: {
+ fields: {
+ Bucket: {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #A': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #B': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #D': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #F': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ bucket: {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ ceph_daemon: {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ },
+ },
+ },
+ {
+ id: 'organize',
+ options: {
+ excludeByName: {
+ 'Time 1': true,
+ 'Time 2': true,
+ 'Time 3': true,
+ 'Time 4': true,
+ 'Time 5': true,
+ 'Time 6': true,
+ 'Time 7': true,
+ '__name__ 1': true,
+ '__name__ 2': true,
+ '__name__ 3': true,
+ '__name__ 4': true,
+ '__name__ 5': true,
+ '__name__ 6': true,
+ '__name__ 7': true,
+ 'ceph_daemon 1': false,
+ 'ceph_daemon 2': true,
+ 'ceph_daemon 3': true,
+ 'ceph_daemon 4': true,
+ 'instance 1': true,
+ 'instance 2': true,
+ 'instance 3': true,
+ 'instance 4': true,
+ 'instance 5': true,
+ 'instance 6': true,
+ 'instance 7': true,
+ 'instance_id 1': true,
+ 'instance_id 2': true,
+ 'instance_id 3': true,
+ 'instance_id 4': true,
+ 'instance_id 5': true,
+ 'instance_id 6': true,
+ 'instance_id 7': true,
+ 'job 1': true,
+ 'job 2': true,
+ 'job 3': true,
+ 'job 4': true,
+ 'job 5': true,
+ 'job 6': true,
+ 'job 7': true,
+ },
+ indexByName: {
+ 'Value #A': 2,
+ 'Value #B': 3,
+ 'Value #D': 4,
+ 'Value #F': 5,
+ bucket: 1,
+ ceph_daemon: 0,
+ },
+ renameByName: {
+ Bucket: '',
+ 'Value #A': 'PUTs',
+ 'Value #B': 'GETs',
+ 'Value #C': 'List',
+ 'Value #D': 'Delete',
+ 'Value #E': 'Copy',
+ 'Value #F': 'Copy',
+ 'Value #G': '',
+ bucket: 'Bucket',
+ ceph_daemon: 'Daemon',
+ 'ceph_daemon 1': 'Daemon',
+ },
+ },
+ },
+ ]).addTargets([
+ $.addTargetSchema(
+ expr='sum by (bucket, ceph_daemon) (ceph_rgw_op_per_bucket_put_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='Upload Objects',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='sum by (bucket, ceph_daemon) (ceph_rgw_op_per_bucket_get_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='Get Objects',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='sum by (bucket, ceph_daemon) (ceph_rgw_op_per_bucket_del_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='Delete Objects',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='sum by (bucket, ceph_daemon) (ceph_rgw_op_per_bucket_copy_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='Copy Objects',
+ range=false,
+ ),
+ ]),
+
+
+ $.addTableExtended(
+ datasource='${datasource}',
+ title='Latency(ms) Per Bucket',
+ gridPosition={ h: 8, w: 12, x: 12, y: 12 },
+ options={
+ footer: {
+ fields: '',
+ reducer: ['sum'],
+ countRows: false,
+ enablePagination: false,
+ show: false,
+ },
+ frameIndex: 1,
+ showHeader: true,
+ sortBy: [
+ {
+ desc: true,
+ displayName: 'PUTs',
+ },
+ ],
+ },
+ custom={ align: 'auto', cellOptions: { type: 'auto' }, filterable: false, inspect: false },
+ thresholds={
+ mode: 'absolute',
+ steps: [
+ { color: 'green', value: null },
+ ],
+ },
+ overrides=[{
+ matcher: { id: 'byType', options: 'number' },
+ properties: [
+ { id: 'unit', value: 'ms' },
+ ],
+ }],
+ pluginVersion='9.4.7'
+ )
+ .addTransformations([
+ {
+ id: 'merge',
+ options: {},
+ },
+ {
+ id: 'joinByField',
+ options: {
+ byField: 'Bucket',
+ mode: 'outer',
+ },
+ },
+ {
+ id: 'groupBy',
+ options: {
+ fields: {
+ Bucket: {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #A': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #B': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #C': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #D': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #F': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ bucket: {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ ceph_daemon: {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ },
+ },
+ },
+ {
+ id: 'organize',
+ options: {
+ excludeByName: {
+ 'Time 1': true,
+ 'Time 2': true,
+ 'Time 3': true,
+ 'Time 4': true,
+ 'Time 5': true,
+ 'Time 6': true,
+ 'Time 7': true,
+ '__name__ 1': true,
+ '__name__ 2': true,
+ '__name__ 3': true,
+ '__name__ 4': true,
+ '__name__ 5': true,
+ '__name__ 6': true,
+ '__name__ 7': true,
+ 'ceph_daemon 1': true,
+ 'ceph_daemon 2': true,
+ 'ceph_daemon 3': true,
+ 'ceph_daemon 4': true,
+ 'ceph_daemon 5': true,
+ 'instance 1': true,
+ 'instance 2': true,
+ 'instance 3': true,
+ 'instance 4': true,
+ 'instance 5': true,
+ 'instance 6': true,
+ 'instance 7': true,
+ 'instance_id 1': true,
+ 'instance_id 2': true,
+ 'instance_id 3': true,
+ 'instance_id 4': true,
+ 'instance_id 5': true,
+ 'instance_id 6': true,
+ 'instance_id 7': true,
+ 'job 1': true,
+ 'job 2': true,
+ 'job 3': true,
+ 'job 4': true,
+ 'job 5': true,
+ 'job 6': true,
+ 'job 7': true,
+ },
+ indexByName: {
+ 'Value #A': 2,
+ 'Value #B': 3,
+ 'Value #C': 4,
+ 'Value #D': 5,
+ 'Value #F': 6,
+ bucket: 1,
+ ceph_daemon: 0,
+ },
+ renameByName: {
+ Bucket: '',
+ 'Value #A': 'PUTs',
+ 'Value #B': 'GETs',
+ 'Value #C': 'List',
+ 'Value #D': 'Delete',
+ 'Value #E': 'Copy',
+ 'Value #F': 'Copy',
+ 'Value #G': '',
+ bucket: 'Bucket',
+ ceph_daemon: 'Daemon',
+ },
+ },
+ },
+ ]).addTargets([
+ $.addTargetSchema(
+ expr='ceph_rgw_op_per_bucket_list_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"}',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='List Objects',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='ceph_rgw_op_per_bucket_put_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"}',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='Upload Objects',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='ceph_rgw_op_per_bucket_get_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"}',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='Get Objects',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='ceph_rgw_op_per_bucket_del_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"}',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='Delete Objects',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='ceph_rgw_op_per_bucket_copy_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"}',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='Copy Objects',
+ range=false,
+ ),
+ ]),
+
+
+ $.addTableExtended(
+ datasource='${datasource}',
+ title='Summary Per User By Bandwidth',
+ gridPosition={ h: 8, w: 12, x: 0, y: 20 },
+ options={
+ footer: {
+ fields: '',
+ reducer: ['sum'],
+ countRows: false,
+ enablePagination: false,
+ show: false,
+ },
+ frameIndex: 1,
+ showHeader: true,
+ sortBy: [
+ {
+ desc: true,
+ displayName: 'PUTs',
+ },
+ ],
+ },
+ custom={ align: 'auto', cellOptions: { type: 'auto' }, filterable: false, inspect: false },
+ thresholds={
+ mode: 'absolute',
+ steps: [
+ { color: 'green', value: null },
+ ],
+ },
+ overrides=[{
+ matcher: { id: 'byType', options: 'number' },
+ properties: [
+ { id: 'unit', value: 'decbytes' },
+ ],
+ }],
+ pluginVersion='9.4.7'
+ )
+ .addTransformations([
+ {
+ id: 'merge',
+ options: {},
+ },
+ {
+ id: 'groupBy',
+ options: {
+ fields: {
+ User: {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #A': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #B': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #D': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #F': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ ceph_daemon: {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ instance: {
+ aggregations: [],
+ },
+ user: {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ },
+ },
+ },
+ {
+ id: 'organize',
+ options: {
+ excludeByName: {
+ 'Time 1': true,
+ 'Time 2': true,
+ 'Time 3': true,
+ 'Time 4': true,
+ 'Time 5': true,
+ 'Time 6': true,
+ 'Time 7': true,
+ '__name__ 1': true,
+ '__name__ 2': true,
+ '__name__ 3': true,
+ '__name__ 4': true,
+ '__name__ 5': true,
+ '__name__ 6': true,
+ '__name__ 7': true,
+ 'ceph_daemon 1': true,
+ 'ceph_daemon 2': true,
+ 'ceph_daemon 3': true,
+ 'ceph_daemon 4': true,
+ 'instance 1': true,
+ 'instance 2': true,
+ 'instance 3': true,
+ 'instance 4': true,
+ 'instance 5': true,
+ 'instance 6': true,
+ 'instance 7': true,
+ 'instance_id 1': true,
+ 'instance_id 2': true,
+ 'instance_id 3': true,
+ 'instance_id 4': true,
+ 'instance_id 5': true,
+ 'instance_id 6': true,
+ 'instance_id 7': true,
+ 'job 1': true,
+ 'job 2': true,
+ 'job 3': true,
+ 'job 4': true,
+ 'job 5': true,
+ 'job 6': true,
+ 'job 7': true,
+ },
+ indexByName: {
+ 'Value #A': 2,
+ 'Value #B': 3,
+ 'Value #D': 4,
+ 'Value #F': 5,
+ ceph_daemon: 0,
+ user: 1,
+ },
+ renameByName: {
+ Bucket: '',
+ 'Value #A': 'PUTs',
+ 'Value #B': 'GETs',
+ 'Value #C': 'List',
+ 'Value #D': 'Delete',
+ 'Value #E': 'Copy',
+ 'Value #F': 'Copy',
+ 'Value #G': '',
+ ceph_daemon: 'Daemon',
+ user: 'User',
+ },
+ },
+ },
+ ]).addTargets([
+ $.addTargetSchema(
+ expr='ceph_rgw_op_per_user_put_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"}',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='Upload Objects',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='ceph_rgw_op_per_user_get_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"}',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='Get Objects',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='ceph_rgw_op_per_user_del_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"}',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='Delete Objects',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='ceph_rgw_op_per_user_copy_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"}',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='Copy Objects',
+ range=false,
+ ),
+ ]),
+
+
+ $.addTableExtended(
+ datasource='${datasource}',
+ title='Latency(ms) Per User',
+ gridPosition={ h: 8, w: 12, x: 12, y: 20 },
+ options={
+ footer: {
+ fields: '',
+ reducer: ['sum'],
+ countRows: false,
+ enablePagination: false,
+ show: false,
+ },
+ frameIndex: 1,
+ showHeader: true,
+ sortBy: [
+ {
+ desc: true,
+ displayName: 'PUTs',
+ },
+ ],
+ },
+ custom={ align: 'auto', cellOptions: { type: 'auto' }, filterable: false, inspect: false },
+ thresholds={
+ mode: 'absolute',
+ steps: [
+ { color: 'green', value: null },
+ ],
+ },
+ overrides=[{
+ matcher: { id: 'byType', options: 'number' },
+ properties: [
+ { id: 'unit', value: 'ms' },
+ ],
+ }],
+ pluginVersion='9.4.7'
+ )
+ .addTransformations([
+ {
+ id: 'merge',
+ options: {},
+ },
+ {
+ id: 'joinByField',
+ options: {
+ byField: 'User',
+ mode: 'outer',
+ },
+ },
+ {
+ id: 'groupBy',
+ options: {
+ fields: {
+ User: {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #A': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #B': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #C': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #D': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #F': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ ceph_daemon: {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ user: {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ },
+ },
+ },
+ {
+ id: 'organize',
+ options: {
+ excludeByName: {
+ 'Time 1': true,
+ 'Time 2': true,
+ 'Time 3': true,
+ 'Time 4': true,
+ 'Time 5': true,
+ 'Time 6': true,
+ 'Time 7': true,
+ '__name__ 1': true,
+ '__name__ 2': true,
+ '__name__ 3': true,
+ '__name__ 4': true,
+ '__name__ 5': true,
+ '__name__ 6': true,
+ '__name__ 7': true,
+ 'ceph_daemon 1': true,
+ 'ceph_daemon 2': true,
+ 'ceph_daemon 3': true,
+ 'ceph_daemon 4': true,
+ 'ceph_daemon 5': true,
+ 'instance 1': true,
+ 'instance 2': true,
+ 'instance 3': true,
+ 'instance 4': true,
+ 'instance 5': true,
+ 'instance 6': true,
+ 'instance 7': true,
+ 'instance_id 1': true,
+ 'instance_id 2': true,
+ 'instance_id 3': true,
+ 'instance_id 4': true,
+ 'instance_id 5': true,
+ 'instance_id 6': true,
+ 'instance_id 7': true,
+ 'job 1': true,
+ 'job 2': true,
+ 'job 3': true,
+ 'job 4': true,
+ 'job 5': true,
+ 'job 6': true,
+ 'job 7': true,
+ },
+ indexByName: {
+ 'Value #A': 2,
+ 'Value #B': 3,
+ 'Value #C': 4,
+ 'Value #D': 5,
+ 'Value #F': 6,
+ ceph_daemon: 0,
+ user: 1,
+ },
+ renameByName: {
+ Bucket: '',
+ 'Value #A': 'PUTs',
+ 'Value #B': 'GETs',
+ 'Value #C': 'List',
+ 'Value #D': 'Delete',
+ 'Value #E': 'Copy',
+ 'Value #F': 'Copy',
+ 'Value #G': '',
+ ceph_daemon: 'Daemon',
+ user: 'User',
+ },
+ },
+ },
+ ]).addTargets([
+ $.addTargetSchema(
+ expr='ceph_rgw_op_per_user_list_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"}',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='__auto',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='ceph_rgw_op_per_user_put_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"}',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='__auto',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='ceph_rgw_op_per_user_get_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"}',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='__auto',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='ceph_rgw_op_per_user_del_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"}',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='__auto',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='ceph_rgw_op_per_user_copy_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"}',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='__auto',
+ range=false,
+ ),
+ ]),
+
+
+ $.addRowSchema(false, true, 'Buckets', collapsed=true)
+ .addPanels([
+ $.addBarGaugePanel(
+ title='Top 5 Bucket PUTs by Operations',
+ datasource='${datasource}',
+ gridPosition={ x: 0, y: 29, w: 6, h: 8 },
+ unit='none',
+ thresholds={ color: 'green', value: null }
+ )
+ .addTargets([
+ $.addTargetSchema(
+ expr='topk(5, \n sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_put_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})\n)',
+ datasource='${datasource}',
+ legendFormat='{{ceph_daemon}} - {{bucket}}',
+ range=false,
+ instant=true
+ ),
+ ]) + { fieldConfig: { defaults: { color: { mode: 'thresholds' }, thresholds: { mode: 'absolute', steps: [{ color: 'green' }] } }, overrides: [{ matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] }] } }
+ + { options: { orientation: 'horizontal', reduceOptions: { calcs: ['lastNotNull'] }, displayMode: 'gradient' } },
+
+
+ $.addBarGaugePanel(
+ title='Top 5 Bucket GETs by Operations',
+ datasource='${datasource}',
+ gridPosition={ x: 6, y: 29, w: 6, h: 8 },
+ unit='none',
+ thresholds={ color: 'green', value: null }
+ )
+ .addTargets([
+ $.addTargetSchema(
+ expr='topk(5, \n sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_get_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})\n)',
+ datasource='${datasource}',
+ legendFormat='{{ceph_daemon}} - {{bucket}}',
+ range=false,
+ instant=true
+ ),
+ ]) + { fieldConfig: { defaults: { color: { mode: 'thresholds' }, thresholds: { mode: 'absolute', steps: [{ color: 'green' }] } }, overrides: [{ matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] }] } }
+ + { options: { orientation: 'horizontal', reduceOptions: { calcs: ['lastNotNull'] }, displayMode: 'gradient' } },
+
+
+ $.addBarGaugePanel(
+ title='Top 5 Buckets PUTs By Size',
+ datasource='${datasource}',
+ gridPosition={ x: 12, y: 29, w: 6, h: 8 },
+ unit='decbytes',
+ thresholds={ color: 'green', value: null }
+ )
+ .addTargets([
+ $.addTargetSchema(
+ expr='topk(5,\n sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_put_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})\n)',
+ datasource='${datasource}',
+ legendFormat='{{ceph_daemon}} - {{bucket}}',
+ range=false,
+ instant=true
+ ),
+ ]) + { fieldConfig: { defaults: { color: { mode: 'thresholds' }, thresholds: { mode: 'absolute', steps: [{ color: 'green' }] } } } }
+ + { options: { orientation: 'horizontal', reduceOptions: { calcs: [] }, displayMode: 'gradient' } },
+
+
+ $.addBarGaugePanel(
+ title='Top 5 Buckets GETs By Size',
+ datasource='${datasource}',
+ gridPosition={ x: 18, y: 29, w: 6, h: 8 },
+ unit='decbytes',
+ thresholds={ color: 'green', value: null }
+ )
+ .addTargets([
+ $.addTargetSchema(
+ expr='topk(5,\n sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_get_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})\n)',
+ datasource='${datasource}',
+ legendFormat='{{ceph_daemon}} - {{bucket}}',
+ range=false,
+ instant=true
+ ),
+ ]) + { fieldConfig: { defaults: { color: { mode: 'thresholds' }, thresholds: { mode: 'absolute', steps: [{ color: 'green' }] } } } }
+ + { options: { orientation: 'horizontal', reduceOptions: { calcs: [] }, displayMode: 'gradient' } },
+
+
+ $.timeSeriesPanel(
+ lineInterpolation='linear',
+ lineWidth=1,
+ drawStyle='line',
+ axisPlacement='auto',
+ title='Bucket PUTs by Size',
+ datasource='${datasource}',
+ gridPosition={ h: 8, w: 6, x: 0, y: 37 },
+ fillOpacity=0,
+ pointSize=5,
+ showPoints='auto',
+ unit='decbytes',
+ displayMode='table',
+ showLegend=true,
+ placement='bottom',
+ tooltip={ mode: 'single', sort: 'desc' },
+ stackingMode='none',
+ spanNulls=true,
+ decimals=2,
+ thresholdsMode='absolute',
+ sortBy='Last *',
+ sortDesc=true
+ )
+ .addThresholds([
+ { color: 'green' },
+ ])
+ .addOverrides([
+ { matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] },
+ ])
+ .addTargets(
+ [
+ $.addTargetSchema(
+ expr='sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_put_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ format='time_series',
+ instant=false,
+ legendFormat='{{ceph_daemon}} - {{bucket}}',
+ step=300,
+ range=true,
+ ),
+ ]
+ ) + { options: { legend: { calcs: ['lastNotNull'], displayMode: 'table', placement: 'bottom', showLegend: true, sortBy: 'Last *', sortDesc: true }, tooltip: { mode: 'single', sort: 'desc' } } },
+
+
+ $.timeSeriesPanel(
+ lineInterpolation='linear',
+ lineWidth=1,
+ drawStyle='line',
+ axisPlacement='auto',
+ title='Bucket GETs by Size',
+ datasource='${datasource}',
+ gridPosition={ h: 8, w: 6, x: 6, y: 37 },
+ fillOpacity=0,
+ pointSize=5,
+ showPoints='auto',
+ unit='decbytes',
+ displayMode='table',
+ showLegend=true,
+ placement='bottom',
+ tooltip={ mode: 'single', sort: 'desc' },
+ stackingMode='none',
+ spanNulls=true,
+ decimals=2,
+ thresholdsMode='absolute',
+ sortBy='Last *',
+ sortDesc=true
+ )
+ .addThresholds([
+ { color: 'green' },
+ ])
+ .addOverrides([
+ { matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] },
+ ])
+ .addTargets(
+ [
+ $.addTargetSchema(
+ expr='sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_get_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ format='time_series',
+ instant=false,
+ legendFormat='{{ceph_daemon}} - {{bucket}}',
+ step=300,
+ range=true,
+ ),
+ ]
+ ) + { options: { legend: { calcs: ['lastNotNull'], displayMode: 'table', placement: 'bottom', showLegend: true, sortBy: 'Last *', sortDesc: true }, tooltip: { mode: 'single', sort: 'desc' } } },
+
+
+ $.timeSeriesPanel(
+ lineInterpolation='linear',
+ lineWidth=1,
+ drawStyle='line',
+ axisPlacement='auto',
+ title='Bucket Copy by Size',
+ datasource='${datasource}',
+ gridPosition={ h: 8, w: 6, x: 12, y: 37 },
+ fillOpacity=0,
+ pointSize=5,
+ showPoints='auto',
+ unit='decbytes',
+ displayMode='table',
+ showLegend=true,
+ placement='bottom',
+ tooltip={ mode: 'single', sort: 'desc' },
+ stackingMode='none',
+ spanNulls=true,
+ decimals=2,
+ thresholdsMode='absolute',
+ sortBy='Last *',
+ sortDesc=true
+ )
+ .addThresholds([
+ { color: 'green' },
+ ])
+ .addOverrides([
+ { matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] },
+ ])
+ .addTargets(
+ [
+ $.addTargetSchema(
+ expr='sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_copy_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ format='time_series',
+ instant=false,
+ legendFormat='{{ceph_daemon}} - {{bucket}}',
+ step=300,
+ range=true,
+ ),
+ ]
+ ) + { options: { legend: { calcs: ['lastNotNull'], displayMode: 'table', placement: 'bottom', showLegend: true, sortBy: 'Last *', sortDesc: true }, tooltip: { mode: 'single', sort: 'desc' } } },
+
+
+ $.timeSeriesPanel(
+ lineInterpolation='linear',
+ lineWidth=1,
+ drawStyle='line',
+ axisPlacement='auto',
+ title='Bucket Delete by Size',
+ datasource='${datasource}',
+ gridPosition={ h: 8, w: 6, x: 18, y: 37 },
+ fillOpacity=0,
+ pointSize=5,
+ showPoints='auto',
+ unit='decbytes',
+ displayMode='table',
+ showLegend=true,
+ placement='bottom',
+ tooltip={ mode: 'single', sort: 'desc' },
+ stackingMode='none',
+ spanNulls=true,
+ decimals=2,
+ thresholdsMode='absolute',
+ sortBy='Last *',
+ sortDesc=true
+ )
+ .addThresholds([
+ { color: 'green' },
+ ])
+ .addOverrides([
+ { matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] },
+ ])
+ .addTargets(
+ [
+ $.addTargetSchema(
+ expr='sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_del_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ format='time_series',
+ instant=false,
+ legendFormat='{{ceph_daemon}} - {{bucket}}',
+ step=300,
+ range=true,
+ ),
+ ]
+ ) + { options: { legend: { calcs: ['lastNotNull'], displayMode: 'table', placement: 'bottom', showLegend: true, sortBy: 'Last *', sortDesc: true }, tooltip: { mode: 'single', sort: 'desc' } } },
+
+
+ $.timeSeriesPanel(
+ lineInterpolation='linear',
+ lineWidth=1,
+ drawStyle='line',
+ axisPlacement='auto',
+ title='Bucket GETs by Operations',
+ datasource='${datasource}',
+ gridPosition={ h: 8, w: 6, x: 0, y: 45 },
+ fillOpacity=0,
+ pointSize=5,
+ showPoints='auto',
+ unit='none',
+ displayMode='table',
+ showLegend=true,
+ placement='bottom',
+ tooltip={ mode: 'single', sort: 'desc' },
+ stackingMode='none',
+ spanNulls=true,
+ decimals=2,
+ thresholdsMode='absolute',
+ sortBy='Last *',
+ sortDesc=true
+ )
+ .addThresholds([
+ { color: 'green' },
+ ])
+ .addOverrides([
+ { matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] },
+ ])
+ .addTargets(
+ [
+ $.addTargetSchema(
+ expr='sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_get_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ format='time_series',
+ instant=false,
+ legendFormat='{{ceph_daemon}} - {{bucket}}',
+ step=300,
+ range=true,
+ ),
+ ]
+ ) + { options: { legend: { calcs: ['lastNotNull'], displayMode: 'table', placement: 'bottom', showLegend: true, sortBy: 'Last *', sortDesc: true }, tooltip: { mode: 'single', sort: 'desc' } } },
+
+
+ $.timeSeriesPanel(
+ lineInterpolation='linear',
+ lineWidth=1,
+ drawStyle='line',
+ axisPlacement='auto',
+ title='Bucket PUTs by Operations',
+ datasource='${datasource}',
+ gridPosition={ h: 8, w: 6, x: 6, y: 45 },
+ fillOpacity=0,
+ pointSize=5,
+ showPoints='auto',
+ unit='none',
+ displayMode='table',
+ showLegend=true,
+ placement='bottom',
+ tooltip={ mode: 'single', sort: 'desc' },
+ stackingMode='none',
+ spanNulls=true,
+ decimals=2,
+ thresholdsMode='absolute',
+ sortBy='Last *',
+ sortDesc=true
+ )
+ .addThresholds([
+ { color: 'green' },
+ ])
+ .addOverrides([
+ { matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] },
+ ])
+ .addTargets(
+ [
+ $.addTargetSchema(
+ expr='sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_put_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ format='time_series',
+ instant=false,
+ legendFormat='{{ceph_daemon}} - {{bucket}}',
+ step=300,
+ range=true,
+ ),
+ ]
+ ) + { options: { legend: { calcs: ['lastNotNull'], displayMode: 'table', placement: 'bottom', showLegend: true, sortBy: 'Last *', sortDesc: true }, tooltip: { mode: 'single', sort: 'desc' } } },
+
+
+ $.timeSeriesPanel(
+ lineInterpolation='linear',
+ lineWidth=1,
+ drawStyle='line',
+ axisPlacement='auto',
+ title='Bucket List by Operations',
+ datasource='${datasource}',
+ gridPosition={ h: 8, w: 6, x: 12, y: 45 },
+ fillOpacity=0,
+ pointSize=5,
+ showPoints='auto',
+ unit='none',
+ displayMode='table',
+ showLegend=true,
+ placement='bottom',
+ tooltip={ mode: 'single', sort: 'desc' },
+ stackingMode='none',
+ spanNulls=true,
+ decimals=2,
+ thresholdsMode='absolute',
+ sortBy='Last *',
+ sortDesc=true
+ )
+ .addThresholds([
+ { color: 'green' },
+ ])
+ .addOverrides([
+ { matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] },
+ ])
+ .addTargets(
+ [
+ $.addTargetSchema(
+ expr='sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_list_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ format='time_series',
+ instant=false,
+ legendFormat='{{ceph_daemon}} - {{bucket}}',
+ step=300,
+ range=true,
+ ),
+ ]
+ ) + { options: { legend: { calcs: ['lastNotNull'], displayMode: 'table', placement: 'bottom', showLegend: true, sortBy: 'Last *', sortDesc: true }, tooltip: { mode: 'single', sort: 'desc' } } },
+
+
+ $.timeSeriesPanel(
+ lineInterpolation='linear',
+ lineWidth=1,
+ drawStyle='line',
+ axisPlacement='auto',
+ title='Bucket Delete by Operations',
+ datasource='${datasource}',
+ gridPosition={ h: 8, w: 6, x: 18, y: 45 },
+ fillOpacity=0,
+ pointSize=5,
+ showPoints='auto',
+ unit='none',
+ displayMode='table',
+ showLegend=true,
+ placement='bottom',
+ tooltip={ mode: 'single', sort: 'desc' },
+ stackingMode='none',
+ spanNulls=true,
+ decimals=2,
+ thresholdsMode='absolute',
+ sortBy='Last *',
+ sortDesc=true
+ )
+ .addThresholds([
+ { color: 'green' },
+ ])
+ .addOverrides([
+ { matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] },
+ ])
+ .addTargets(
+ [
+ $.addTargetSchema(
+ expr='sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_del_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ format='time_series',
+ instant=false,
+ legendFormat='{{ceph_daemon}} - {{bucket}}',
+ step=300,
+ range=true,
+ ),
+ ]
+ ) + { options: { legend: { calcs: ['lastNotNull'], displayMode: 'table', placement: 'bottom', showLegend: true, sortBy: 'Last *', sortDesc: true }, tooltip: { mode: 'single', sort: 'desc' } } },
+
+
+ $.timeSeriesPanel(
+ lineInterpolation='linear',
+ lineWidth=1,
+ drawStyle='line',
+ axisPlacement='auto',
+ title='Bucket Copy by Operations',
+ datasource='${datasource}',
+ gridPosition={ h: 8, w: 12, x: 0, y: 53 },
+ fillOpacity=0,
+ pointSize=5,
+ showPoints='auto',
+ unit='none',
+ displayMode='table',
+ showLegend=true,
+ placement='bottom',
+ tooltip={ mode: 'single', sort: 'desc' },
+ stackingMode='none',
+ spanNulls=true,
+ decimals=2,
+ thresholdsMode='absolute',
+ sortBy='Last *',
+ sortDesc=true
+ )
+ .addThresholds([
+ { color: 'green' },
+ ])
+ .addOverrides([
+ { matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] },
+ ])
+ .addTargets(
+ [
+ $.addTargetSchema(
+ expr='sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_copy_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ format='time_series',
+ instant=false,
+ legendFormat='{{ceph_daemon}} - {{bucket}}',
+ step=300,
+ range=true,
+ ),
+ ]
+ ) + { options: { legend: { calcs: ['lastNotNull'], displayMode: 'table', placement: 'bottom', showLegend: true, sortBy: 'Last *', sortDesc: true }, tooltip: { mode: 'single', sort: 'desc' } } },
+
+
+ $.addTableExtended(
+ datasource='${datasource}',
+ title='Summary Per Bucket by Operations',
+ gridPosition={ h: 8, w: 12, x: 12, y: 53 },
+ options={
+ footer: {
+ fields: '',
+ reducer: ['sum'],
+ countRows: false,
+ enablePagination: false,
+ show: false,
+ },
+ frameIndex: 1,
+ showHeader: true,
+ sortBy: [
+ {
+ desc: true,
+ displayName: 'PUTs',
+ },
+ ],
+ },
+ custom={ align: 'auto', cellOptions: { type: 'auto' }, filterable: false, inspect: false },
+ thresholds={
+ mode: 'absolute',
+ steps: [
+ { color: 'green' },
+ ],
+ },
+ overrides=[{
+ matcher: { id: 'byType', options: 'number' },
+ properties: [
+ { id: 'unit', value: 'none' },
+ ],
+ }],
+ pluginVersion='9.4.7'
+ )
+ .addTransformations([
+ {
+ id: 'merge',
+ options: {},
+ },
+ {
+ id: 'joinByField',
+ options: {
+ byField: 'Bucket',
+ mode: 'outer',
+ },
+ },
+ {
+ id: 'groupBy',
+ options: {
+ fields: {
+ Bucket: {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #A': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #B': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #C': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #D': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #F': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ bucket: {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ ceph_daemon: {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ },
+ },
+ },
+ {
+ id: 'organize',
+ options: {
+ excludeByName: {
+ 'Time 1': true,
+ 'Time 2': true,
+ 'Time 3': true,
+ 'Time 4': true,
+ 'Time 5': true,
+ 'Time 6': true,
+ 'Time 7': true,
+ __name__: true,
+ '__name__ 1': true,
+ '__name__ 2': true,
+ '__name__ 3': true,
+ '__name__ 4': true,
+ '__name__ 5': true,
+ '__name__ 6': true,
+ '__name__ 7': true,
+ 'ceph_daemon 1': true,
+ 'ceph_daemon 2': true,
+ 'ceph_daemon 3': true,
+ 'ceph_daemon 4': true,
+ 'instance 1': true,
+ 'instance 2': true,
+ 'instance 3': true,
+ 'instance 4': true,
+ 'instance 5': true,
+ 'instance 6': true,
+ 'instance 7': true,
+ 'instance_id 1': true,
+ 'instance_id 2': true,
+ 'instance_id 3': true,
+ 'instance_id 4': true,
+ 'instance_id 5': true,
+ 'instance_id 6': true,
+ 'instance_id 7': true,
+ 'job 1': true,
+ 'job 2': true,
+ 'job 3': true,
+ 'job 4': true,
+ 'job 5': true,
+ 'job 6': true,
+ 'job 7': true,
+ },
+ indexByName: {
+ 'Value #A': 2,
+ 'Value #B': 3,
+ 'Value #C': 4,
+ 'Value #D': 5,
+ 'Value #F': 6,
+ bucket: 1,
+ ceph_daemon: 0,
+ },
+ renameByName: {
+ Bucket: '',
+ 'Value #A': 'PUTs',
+ 'Value #B': 'GETs',
+ 'Value #C': 'List',
+ 'Value #D': 'Delete',
+ 'Value #E': 'Copy',
+ 'Value #F': 'Copy',
+ 'Value #G': '',
+ bucket: 'Bucket',
+ ceph_daemon: 'Daemon',
+ },
+ },
+ },
+ ]).addTargets([
+ $.addTargetSchema(
+ expr='sum by (bucket, ceph_daemon) (ceph_rgw_op_per_bucket_put_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='__auto',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='sum by (bucket, ceph_daemon) (ceph_rgw_op_per_bucket_get_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='__auto',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='sum by (bucket, ceph_daemon) (ceph_rgw_op_per_bucket_del_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='__auto',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='sum by (bucket, ceph_daemon) (ceph_rgw_op_per_bucket_copy_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='__auto',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='sum by (bucket, ceph_daemon) (ceph_rgw_op_per_bucket_list_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='__auto',
+ range=false,
+ ),
+ ]),
+ ]) + { gridPos: { x: 0, y: 28, w: 24, h: 1 } },
+
+
+ $.addRowSchema(false, true, 'Users', collapsed=true)
+ .addPanels([
+ $.addBarGaugePanel(
+ title='Top 5 Users PUTs By Operations',
+ datasource='${datasource}',
+ gridPosition={ x: 0, y: 62, w: 6, h: 8 },
+ unit='none',
+ thresholds={ color: 'green' }
+ )
+ .addTargets([
+ $.addTargetSchema(
+ expr='topk(5, \n sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_put_obj_ops ) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})\n)\n',
+ datasource='${datasource}',
+ legendFormat='{{ceph_daemon}} - {{user}}',
+ range=false,
+ instant=true
+ ),
+ ]) + { fieldConfig: { defaults: { color: { mode: 'thresholds' }, thresholds: { mode: 'absolute', steps: [{ color: 'green' }] } }, overrides: [{ matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] }] } }
+ + { options: { orientation: 'horizontal', reduceOptions: { calcs: ['lastNotNull'] }, displayMode: 'gradient' } },
+
+
+ $.addBarGaugePanel(
+ title='Top 5 Users GETs by Operations',
+ datasource='${datasource}',
+ gridPosition={ x: 6, y: 62, w: 6, h: 8 },
+ unit='none',
+ thresholds={ color: 'green', value: null }
+ )
+ .addTargets([
+ $.addTargetSchema(
+ expr='topk(5, \n sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_get_obj_ops ) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})\n)\n',
+ datasource='${datasource}',
+ legendFormat='{{ceph_daemon}} - {{user}}',
+ range=false,
+ instant=true
+ ),
+ ]) + { fieldConfig: { defaults: { color: { mode: 'thresholds' }, thresholds: { mode: 'absolute', steps: [{ color: 'green' }] } }, overrides: [{ matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] }] } }
+ + { options: { orientation: 'horizontal', reduceOptions: { calcs: ['lastNotNull'] }, displayMode: 'gradient' } },
+
+
+ $.addBarGaugePanel(
+ title='Top 5 Users PUTs by Size',
+ datasource='${datasource}',
+ gridPosition={ x: 12, y: 62, w: 6, h: 8 },
+ unit='decbytes',
+ thresholds={ color: 'green', value: null }
+ )
+ .addTargets([
+ $.addTargetSchema(
+ expr='topk(5, \n sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_put_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})\n)',
+ datasource='${datasource}',
+ legendFormat='{{ceph_daemon}} - {{user}}',
+ range=false,
+ instant=true
+ ),
+ ]) + { fieldConfig: { defaults: { color: { mode: 'thresholds' }, thresholds: { mode: 'absolute', steps: [{ color: 'green' }] } } } }
+ + { options: { orientation: 'horizontal', reduceOptions: { calcs: [] }, displayMode: 'gradient' } },
+
+
+ $.addBarGaugePanel(
+ title='Top 5 Users GETs By Size',
+ datasource='${datasource}',
+ gridPosition={ x: 18, y: 62, w: 6, h: 8 },
+ unit='decbytes',
+ thresholds={ color: 'green', value: null }
+ )
+ .addTargets([
+ $.addTargetSchema(
+ expr='topk(5, \n sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_get_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})\n)',
+ datasource='${datasource}',
+ legendFormat='{{ceph_daemon}} - {{user}}',
+ range=false,
+ instant=true
+ ),
+ ]) + { fieldConfig: { defaults: { color: { mode: 'thresholds' }, thresholds: { mode: 'absolute', steps: [{ color: 'green' }] } } } }
+ + { options: { orientation: 'horizontal', reduceOptions: { calcs: [] }, displayMode: 'gradient' } },
+
+
+ $.timeSeriesPanel(
+ lineInterpolation='linear',
+ lineWidth=1,
+ drawStyle='line',
+ axisPlacement='auto',
+ title='User PUTs by Size',
+ datasource='${datasource}',
+ gridPosition={ h: 8, w: 6, x: 0, y: 70 },
+ fillOpacity=0,
+ pointSize=5,
+ showPoints='auto',
+ unit='decbytes',
+ displayMode='table',
+ showLegend=true,
+ placement='bottom',
+ tooltip={ mode: 'single', sort: 'desc' },
+ stackingMode='none',
+ spanNulls=true,
+ decimals=2,
+ thresholdsMode='absolute',
+ sortBy='Last *',
+ sortDesc=true
+ )
+ .addThresholds([
+ { color: 'green' },
+ ])
+ .addOverrides([
+ { matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] },
+ ])
+ .addTargets(
+ [
+ $.addTargetSchema(
+ expr='sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_put_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ format='time_series',
+ instant=false,
+ legendFormat='{{ceph_daemon}} - {{user}}',
+ step=300,
+ range=true,
+ ),
+ ]
+ ) + { options: { legend: { calcs: ['lastNotNull'], displayMode: 'table', placement: 'bottom', showLegend: true, sortBy: 'Last *', sortDesc: true }, tooltip: { mode: 'single', sort: 'desc' } } },
+
+
+ $.timeSeriesPanel(
+ lineInterpolation='linear',
+ lineWidth=1,
+ drawStyle='line',
+ axisPlacement='auto',
+ title='User GETs by Size',
+ datasource='${datasource}',
+ gridPosition={ h: 8, w: 6, x: 6, y: 70 },
+ fillOpacity=0,
+ pointSize=5,
+ showPoints='auto',
+ unit='decbytes',
+ displayMode='table',
+ showLegend=true,
+ placement='bottom',
+ tooltip={ mode: 'single', sort: 'desc' },
+ stackingMode='none',
+ spanNulls=true,
+ decimals=2,
+ thresholdsMode='absolute',
+ sortBy='Last *',
+ sortDesc=true
+ )
+ .addThresholds([
+ { color: 'green' },
+ ])
+ .addOverrides([
+ { matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] },
+ ])
+ .addTargets(
+ [
+ $.addTargetSchema(
+ expr='sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_get_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ format='time_series',
+ instant=false,
+ legendFormat='{{ceph_daemon}} - {{user}}',
+ step=300,
+ range=true,
+ ),
+ ]
+ ) + { options: { legend: { calcs: ['lastNotNull'], displayMode: 'table', placement: 'bottom', showLegend: true, sortBy: 'Last *', sortDesc: true }, tooltip: { mode: 'single', sort: 'desc' } } },
+
+
+ $.timeSeriesPanel(
+ lineInterpolation='linear',
+ lineWidth=1,
+ drawStyle='line',
+ axisPlacement='auto',
+ title='User Delete by Size',
+ datasource='${datasource}',
+ gridPosition={ h: 8, w: 6, x: 12, y: 70 },
+ fillOpacity=0,
+ pointSize=5,
+ showPoints='auto',
+ unit='decbytes',
+ displayMode='table',
+ showLegend=true,
+ placement='bottom',
+ tooltip={ mode: 'single', sort: 'desc' },
+ stackingMode='none',
+ spanNulls=true,
+ decimals=2,
+ thresholdsMode='absolute',
+ sortBy='Last *',
+ sortDesc=true
+ )
+ .addThresholds([
+ { color: 'green' },
+ ])
+ .addOverrides([
+ { matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] },
+ ])
+ .addTargets(
+ [
+ $.addTargetSchema(
+ expr='sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_del_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ format='time_series',
+ instant=false,
+ legendFormat='{{ceph_daemon}} - {{user}}',
+ step=300,
+ range=true,
+ ),
+ ]
+ ) + { options: { legend: { calcs: ['lastNotNull'], displayMode: 'table', placement: 'bottom', showLegend: true, sortBy: 'Last *', sortDesc: true }, tooltip: { mode: 'single', sort: 'desc' } } },
+
+
+ $.timeSeriesPanel(
+ lineInterpolation='linear',
+ lineWidth=1,
+ drawStyle='line',
+ axisPlacement='auto',
+ title='User COPY by Size',
+ datasource='${datasource}',
+ gridPosition={ h: 8, w: 6, x: 18, y: 70 },
+ fillOpacity=0,
+ pointSize=5,
+ showPoints='auto',
+ unit='decbytes',
+ displayMode='table',
+ showLegend=true,
+ placement='bottom',
+ tooltip={ mode: 'single', sort: 'desc' },
+ stackingMode='none',
+ spanNulls=true,
+ decimals=2,
+ thresholdsMode='absolute',
+ sortBy='Last *',
+ sortDesc=true
+ )
+ .addThresholds([
+ { color: 'green' },
+ ])
+ .addOverrides([
+ { matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] },
+ ])
+ .addTargets(
+ [
+ $.addTargetSchema(
+ expr='sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_copy_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ format='time_series',
+ instant=false,
+ legendFormat='{{ceph_daemon}} - {{user}}',
+ step=300,
+ range=true,
+ ),
+ ]
+ ) + { options: { legend: { calcs: ['lastNotNull'], displayMode: 'table', placement: 'bottom', showLegend: true, sortBy: 'Last *', sortDesc: true }, tooltip: { mode: 'single', sort: 'desc' } } },
+
+
+ $.timeSeriesPanel(
+ lineInterpolation='linear',
+ lineWidth=1,
+ drawStyle='line',
+ axisPlacement='auto',
+ title='User GETs by Operations',
+ datasource='${datasource}',
+ gridPosition={ h: 8, w: 6, x: 0, y: 78 },
+ fillOpacity=0,
+ pointSize=5,
+ showPoints='auto',
+ unit='none',
+ displayMode='table',
+ showLegend=true,
+ placement='bottom',
+ tooltip={ mode: 'single', sort: 'desc' },
+ stackingMode='none',
+ spanNulls=true,
+ decimals=2,
+ thresholdsMode='absolute',
+ sortBy='Last *',
+ sortDesc=true
+ )
+ .addThresholds([
+ { color: 'green' },
+ ])
+ .addOverrides([
+ { matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] },
+ ])
+ .addTargets(
+ [
+ $.addTargetSchema(
+ expr='sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_get_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ format='time_series',
+ instant=false,
+ legendFormat='{{ceph_daemon}} - {{user}}',
+ step=300,
+ range=true,
+ ),
+ ]
+ ) + { options: { legend: { calcs: ['lastNotNull'], displayMode: 'table', placement: 'bottom', showLegend: true, sortBy: 'Last *', sortDesc: true }, tooltip: { mode: 'single', sort: 'desc' } } },
+
+
+ $.timeSeriesPanel(
+ lineInterpolation='linear',
+ lineWidth=1,
+ drawStyle='line',
+ axisPlacement='auto',
+ title='User PUTs by Operations',
+ datasource='${datasource}',
+ gridPosition={ h: 8, w: 6, x: 6, y: 78 },
+ fillOpacity=0,
+ pointSize=5,
+ showPoints='auto',
+ unit='none',
+ displayMode='table',
+ showLegend=true,
+ placement='bottom',
+ tooltip={ mode: 'single', sort: 'desc' },
+ stackingMode='none',
+ spanNulls=true,
+ decimals=2,
+ thresholdsMode='absolute',
+ sortBy='Last *',
+ sortDesc=true
+ )
+ .addThresholds([
+ { color: 'green' },
+ ])
+ .addOverrides([
+ { matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] },
+ ])
+ .addTargets(
+ [
+ $.addTargetSchema(
+ expr='sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_put_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ format='time_series',
+ instant=false,
+ legendFormat='{{ceph_daemon}} - {{user}}',
+ step=300,
+ range=true,
+ ),
+ ]
+ ) + { options: { legend: { calcs: ['lastNotNull'], displayMode: 'table', placement: 'bottom', showLegend: true, sortBy: 'Last *', sortDesc: true }, tooltip: { mode: 'single', sort: 'desc' } } },
+
+
+ $.timeSeriesPanel(
+ lineInterpolation='linear',
+ lineWidth=1,
+ drawStyle='line',
+ axisPlacement='auto',
+ title='User List by Operations',
+ datasource='${datasource}',
+ gridPosition={ h: 8, w: 6, x: 12, y: 78 },
+ fillOpacity=0,
+ pointSize=5,
+ showPoints='auto',
+ unit='none',
+ displayMode='table',
+ showLegend=true,
+ placement='bottom',
+ tooltip={ mode: 'single', sort: 'desc' },
+ stackingMode='none',
+ spanNulls=true,
+ decimals=2,
+ thresholdsMode='absolute',
+ sortBy='Last *',
+ sortDesc=true
+ )
+ .addThresholds([
+ { color: 'green' },
+ ])
+ .addOverrides([
+ { matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] },
+ ])
+ .addTargets(
+ [
+ $.addTargetSchema(
+ expr='sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_list_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ format='time_series',
+ instant=false,
+ legendFormat='{{ceph_daemon}} - {{user}}',
+ step=300,
+ range=true,
+ ),
+ ]
+ ) + { options: { legend: { calcs: ['lastNotNull'], displayMode: 'table', placement: 'bottom', showLegend: true, sortBy: 'Last *', sortDesc: true }, tooltip: { mode: 'single', sort: 'desc' } } },
+
+
+ $.timeSeriesPanel(
+ lineInterpolation='linear',
+ lineWidth=1,
+ drawStyle='line',
+ axisPlacement='auto',
+ title='User Delete by Operations',
+ datasource='${datasource}',
+ gridPosition={ h: 8, w: 6, x: 18, y: 78 },
+ fillOpacity=0,
+ pointSize=5,
+ showPoints='auto',
+ unit='none',
+ displayMode='table',
+ showLegend=true,
+ placement='bottom',
+ tooltip={ mode: 'single', sort: 'desc' },
+ stackingMode='none',
+ spanNulls=true,
+ decimals=2,
+ thresholdsMode='absolute',
+ sortBy='Last *',
+ sortDesc=true
+ )
+ .addThresholds([
+ { color: 'green' },
+ ])
+ .addOverrides([
+ { matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] },
+ ])
+ .addTargets(
+ [
+ $.addTargetSchema(
+ expr='sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_del_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ format='time_series',
+ instant=false,
+ legendFormat='{{ceph_daemon}} - {{user}}',
+ step=300,
+ range=true,
+ ),
+ ]
+ ) + { options: { legend: { calcs: ['lastNotNull'], displayMode: 'table', placement: 'bottom', showLegend: true, sortBy: 'Last *', sortDesc: true }, tooltip: { mode: 'single', sort: 'desc' } } },
+
+
+ $.timeSeriesPanel(
+ lineInterpolation='linear',
+ lineWidth=1,
+ drawStyle='line',
+ axisPlacement='auto',
+ title='User Copy by Operations',
+ datasource='${datasource}',
+ gridPosition={ h: 8, w: 12, x: 0, y: 86 },
+ fillOpacity=0,
+ pointSize=5,
+ showPoints='auto',
+ unit='none',
+ displayMode='table',
+ showLegend=true,
+ placement='bottom',
+ tooltip={ mode: 'single', sort: 'desc' },
+ stackingMode='none',
+ spanNulls=true,
+ decimals=2,
+ thresholdsMode='absolute',
+ sortBy='Last *',
+ sortDesc=true
+ )
+ .addThresholds([
+ { color: 'green' },
+ ])
+ .addOverrides([
+ { matcher: { id: 'byType', unit: 'number' }, properties: [{ id: 'color' }, { id: 'color', value: { mode: 'palette-classic' } }] },
+ ])
+ .addTargets(
+ [
+ $.addTargetSchema(
+ expr='sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_copy_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource='${datasource}',
+ format='time_series',
+ instant=false,
+ legendFormat='{{ceph_daemon}} - {{user}}',
+ step=300,
+ range=true,
+ ),
+ ]
+ ) + { options: { legend: { calcs: ['lastNotNull'], displayMode: 'table', placement: 'bottom', showLegend: true, sortBy: 'Last *', sortDesc: true }, tooltip: { mode: 'single', sort: 'desc' } } },
+
+
+ $.addTableExtended(
+ datasource='${datasource}',
+ title='Summary Per User By Operations',
+ gridPosition={ h: 8, w: 12, x: 12, y: 86 },
+ options={
+ footer: {
+ fields: '',
+ reducer: ['sum'],
+ countRows: false,
+ enablePagination: false,
+ show: false,
+ },
+ frameIndex: 1,
+ showHeader: true,
+ sortBy: [
+ {
+ desc: true,
+ displayName: 'PUTs',
+ },
+ ],
+ },
+ custom={ align: 'auto', cellOptions: { type: 'auto' }, filterable: false, inspect: false },
+ thresholds={
+ mode: 'absolute',
+ steps: [
+ { color: 'green' },
+ ],
+ },
+ overrides=[{
+ matcher: { id: 'byType', options: 'number' },
+ properties: [
+ { id: 'unit', value: 'none' },
+ ],
+ }],
+ pluginVersion='9.4.7'
+ )
+ .addTransformations([
+ {
+ id: 'merge',
+ options: {},
+ },
+ {
+ id: 'joinByField',
+ options: {
+ byField: 'User',
+ mode: 'outer',
+ },
+ },
+ {
+ id: 'groupBy',
+ options: {
+ fields: {
+ User: {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #A': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #B': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #C': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #D': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ 'Value #F': {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ ceph_daemon: {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ user: {
+ aggregations: [],
+ operation: 'groupby',
+ },
+ },
+ },
+ },
+ {
+ id: 'organize',
+ options: {
+ excludeByName: {},
+ indexByName: {
+ 'Value #A': 2,
+ 'Value #B': 3,
+ 'Value #C': 4,
+ 'Value #D': 5,
+ 'Value #F': 6,
+ ceph_daemon: 0,
+ user: 1,
+ },
+ renameByName: {
+ 'Value #A': 'PUTs',
+ 'Value #B': 'GETs',
+ 'Value #C': 'LIST',
+ 'Value #D': 'DELETE',
+ 'Value #F': 'COPY',
+ ceph_daemon: 'Daemon',
+ user: 'User',
+ },
+ },
+ },
+ ]).addTargets([
+ $.addTargetSchema(
+ expr='sum by (user, ceph_daemon) (ceph_rgw_op_per_user_put_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='__auto',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='sum by (user, ceph_daemon) (ceph_rgw_op_per_user_get_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='__auto',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='sum by (user, ceph_daemon) (ceph_rgw_op_per_user_del_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='__auto',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='sum by (user, ceph_daemon) (ceph_rgw_op_per_user_copy_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='__auto',
+ range=false,
+ ),
+ $.addTargetSchema(
+ expr='sum by (user, ceph_daemon) (ceph_rgw_op_per_user_list_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~"$rgw_servers"})',
+ datasource={ type: 'prometheus', uid: '${datasource}' },
+ format='table',
+ hide=false,
+ exemplar=false,
+ instant=true,
+ interval='',
+ legendFormat='__auto',
+ range=false,
+ ),
+ ]),
+ ]) + { gridPos: { x: 0, y: 29, w: 24, h: 1 } },
+ ]),
+}
diff --git a/monitoring/ceph-mixin/dashboards/utils.libsonnet b/monitoring/ceph-mixin/dashboards/utils.libsonnet
index 16ba771cb3a..397c00fe53a 100644
--- a/monitoring/ceph-mixin/dashboards/utils.libsonnet
+++ b/monitoring/ceph-mixin/dashboards/utils.libsonnet
@@ -524,6 +524,16 @@ local timeSeries = import 'timeseries_panel.libsonnet';
maxDataPoints: maxDataPoints,
interval: interval,
},
+
+ addBarGaugePanel(title='',
+ description='',
+ datasource='${DS_PROMETHEUS}',
+ gridPosition={},
+ unit='percentunit',
+ thresholds={})::
+ g.barGaugePanel.new(title, description, datasource, unit, thresholds) + {
+ gridPos: gridPosition,
+ },
addTableExtended(
title='',
datasource=null,
diff --git a/monitoring/ceph-mixin/dashboards_out/rgw-s3-analytics.json b/monitoring/ceph-mixin/dashboards_out/rgw-s3-analytics.json
new file mode 100644
index 00000000000..6a41df1cfaa
--- /dev/null
+++ b/monitoring/ceph-mixin/dashboards_out/rgw-s3-analytics.json
@@ -0,0 +1,4695 @@
+{
+ "__inputs": [ ],
+ "__requires": [ ],
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "showIn": 0,
+ "tags": [ ],
+ "type": "dashboard"
+ }
+ ]
+ },
+ "description": "",
+ "editable": false,
+ "gnetId": null,
+ "graphTooltip": 0,
+ "hideControls": false,
+ "id": null,
+ "links": [ ],
+ "panels": [
+ {
+ "collapse": false,
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 2,
+ "panels": [ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Overview",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "colors": null,
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 0,
+ "y": 1
+ },
+ "id": 3,
+ "links": [ ],
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.7",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_put_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Total PUTs",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "colors": null,
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 6,
+ "y": 1
+ },
+ "id": 4,
+ "links": [ ],
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.7",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum\n(ceph_rgw_op_get_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Total GETs",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "colors": null,
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 12,
+ "y": 1
+ },
+ "id": 5,
+ "links": [ ],
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.7",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_put_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Total Objects",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "colors": null,
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "decimals": 0,
+ "links": [ ],
+ "mappings": [ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ }
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 18,
+ "y": 1
+ },
+ "id": 6,
+ "links": [ ],
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.7",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum\n((sum by(instance_id)(ceph_rgw_op_put_obj_bytes) > 0) / (sum by(instance_id)(ceph_rgw_op_put_obj_ops) > 0) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": true,
+ "refId": "A"
+ }
+ ],
+ "title": "Average Object Size",
+ "transparent": false,
+ "type": "stat"
+ },
+ {
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 0,
+ "y": 4
+ },
+ "id": 7,
+ "options": {
+ "displayMode": "gradient",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_list_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "List Objects",
+ "range": false,
+ "refId": "A"
+ },
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_list_buckets_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "List Buckets",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_put_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "Put Objects",
+ "range": false,
+ "refId": "C"
+ },
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_per_bucket_get_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "Get Objects",
+ "range": false,
+ "refId": "D"
+ },
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_del_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "Delete Objects",
+ "range": false,
+ "refId": "E"
+ },
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_del_bucket_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "Delete Buckets",
+ "range": false,
+ "refId": "F"
+ },
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_copy_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Copy Objects",
+ "range": true,
+ "refId": "G"
+ }
+ ],
+ "title": "Total Operations",
+ "type": "bargauge"
+ },
+ {
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "decbytes"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 8,
+ "y": 4
+ },
+ "id": 8,
+ "options": {
+ "displayMode": "gradient",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_put_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "Put Objects",
+ "range": false,
+ "refId": "A"
+ },
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_per_bucket_get_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "Get Objects",
+ "range": false,
+ "refId": "B"
+ },
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_del_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "Delete Objects",
+ "range": false,
+ "refId": "C"
+ },
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_copy_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Copy Objects",
+ "range": true,
+ "refId": "D"
+ }
+ ],
+ "title": "Total Size",
+ "type": "bargauge"
+ },
+ {
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "ms"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 8,
+ "x": 16,
+ "y": 4
+ },
+ "id": 9,
+ "options": {
+ "displayMode": "gradient",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_list_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "List Object",
+ "range": false,
+ "refId": "A"
+ },
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_list_buckets_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "List Bucket",
+ "range": true,
+ "refId": "B"
+ },
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_put_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "Put Object",
+ "range": false,
+ "refId": "C"
+ },
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_get_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "Get Object",
+ "range": false,
+ "refId": "D"
+ },
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_del_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "Delete Object",
+ "range": false,
+ "refId": "E"
+ },
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_del_bucket_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "Delete Bucket",
+ "range": false,
+ "refId": "F"
+ },
+ {
+ "datasource": "${datasource}",
+ "expr": "sum(ceph_rgw_op_copy_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Copy Object",
+ "range": true,
+ "refId": "G"
+ }
+ ],
+ "title": "Total Latencies",
+ "type": "bargauge"
+ },
+ {
+ "columns": [ ],
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "color-text"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "options": "number"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "decbytes"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "id": 10,
+ "links": [ ],
+ "options": {
+ "footer": {
+ "countRows": false,
+ "enablePagination": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "frameIndex": 1,
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "PUTs"
+ }
+ ]
+ },
+ "pluginVersion": "9.4.7",
+ "styles": "",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum by (bucket, ceph_daemon) (ceph_rgw_op_per_bucket_put_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Upload Objects",
+ "range": false,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum by (bucket, ceph_daemon) (ceph_rgw_op_per_bucket_get_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Get Objects",
+ "range": false,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum by (bucket, ceph_daemon) (ceph_rgw_op_per_bucket_del_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Delete Objects",
+ "range": false,
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum by (bucket, ceph_daemon) (ceph_rgw_op_per_bucket_copy_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Copy Objects",
+ "range": false,
+ "refId": "D"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Summary Per Bucket by Bandwidth",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": { }
+ },
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "Bucket": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #A": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #B": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #D": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #F": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "bucket": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "ceph_daemon": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ }
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true,
+ "Time 7": true,
+ "__name__ 1": true,
+ "__name__ 2": true,
+ "__name__ 3": true,
+ "__name__ 4": true,
+ "__name__ 5": true,
+ "__name__ 6": true,
+ "__name__ 7": true,
+ "ceph_daemon 1": false,
+ "ceph_daemon 2": true,
+ "ceph_daemon 3": true,
+ "ceph_daemon 4": true,
+ "instance 1": true,
+ "instance 2": true,
+ "instance 3": true,
+ "instance 4": true,
+ "instance 5": true,
+ "instance 6": true,
+ "instance 7": true,
+ "instance_id 1": true,
+ "instance_id 2": true,
+ "instance_id 3": true,
+ "instance_id 4": true,
+ "instance_id 5": true,
+ "instance_id 6": true,
+ "instance_id 7": true,
+ "job 1": true,
+ "job 2": true,
+ "job 3": true,
+ "job 4": true,
+ "job 5": true,
+ "job 6": true,
+ "job 7": true
+ },
+ "indexByName": {
+ "Value #A": 2,
+ "Value #B": 3,
+ "Value #D": 4,
+ "Value #F": 5,
+ "bucket": 1,
+ "ceph_daemon": 0
+ },
+ "renameByName": {
+ "Bucket": "",
+ "Value #A": "PUTs",
+ "Value #B": "GETs",
+ "Value #C": "List",
+ "Value #D": "Delete",
+ "Value #E": "Copy",
+ "Value #F": "Copy",
+ "Value #G": "",
+ "bucket": "Bucket",
+ "ceph_daemon": "Daemon",
+ "ceph_daemon 1": "Daemon"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "columns": [ ],
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "options": "number"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "ms"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 11,
+ "links": [ ],
+ "options": {
+ "footer": {
+ "countRows": false,
+ "enablePagination": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "frameIndex": 1,
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "PUTs"
+ }
+ ]
+ },
+ "pluginVersion": "9.4.7",
+ "styles": "",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "ceph_rgw_op_per_bucket_list_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"}",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "List Objects",
+ "range": false,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "ceph_rgw_op_per_bucket_put_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"}",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Upload Objects",
+ "range": false,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "ceph_rgw_op_per_bucket_get_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"}",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Get Objects",
+ "range": false,
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "ceph_rgw_op_per_bucket_del_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"}",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Delete Objects",
+ "range": false,
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "ceph_rgw_op_per_bucket_copy_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"}",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Copy Objects",
+ "range": false,
+ "refId": "E"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Latency(ms) Per Bucket",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": { }
+ },
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "Bucket",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "Bucket": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #A": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #B": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #C": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #D": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #F": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "bucket": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "ceph_daemon": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ }
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true,
+ "Time 7": true,
+ "__name__ 1": true,
+ "__name__ 2": true,
+ "__name__ 3": true,
+ "__name__ 4": true,
+ "__name__ 5": true,
+ "__name__ 6": true,
+ "__name__ 7": true,
+ "ceph_daemon 1": true,
+ "ceph_daemon 2": true,
+ "ceph_daemon 3": true,
+ "ceph_daemon 4": true,
+ "ceph_daemon 5": true,
+ "instance 1": true,
+ "instance 2": true,
+ "instance 3": true,
+ "instance 4": true,
+ "instance 5": true,
+ "instance 6": true,
+ "instance 7": true,
+ "instance_id 1": true,
+ "instance_id 2": true,
+ "instance_id 3": true,
+ "instance_id 4": true,
+ "instance_id 5": true,
+ "instance_id 6": true,
+ "instance_id 7": true,
+ "job 1": true,
+ "job 2": true,
+ "job 3": true,
+ "job 4": true,
+ "job 5": true,
+ "job 6": true,
+ "job 7": true
+ },
+ "indexByName": {
+ "Value #A": 2,
+ "Value #B": 3,
+ "Value #C": 4,
+ "Value #D": 5,
+ "Value #F": 6,
+ "bucket": 1,
+ "ceph_daemon": 0
+ },
+ "renameByName": {
+ "Bucket": "",
+ "Value #A": "PUTs",
+ "Value #B": "GETs",
+ "Value #C": "List",
+ "Value #D": "Delete",
+ "Value #E": "Copy",
+ "Value #F": "Copy",
+ "Value #G": "",
+ "bucket": "Bucket",
+ "ceph_daemon": "Daemon"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "columns": [ ],
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "options": "number"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "decbytes"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "id": 12,
+ "links": [ ],
+ "options": {
+ "footer": {
+ "countRows": false,
+ "enablePagination": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "frameIndex": 1,
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "PUTs"
+ }
+ ]
+ },
+ "pluginVersion": "9.4.7",
+ "styles": "",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "ceph_rgw_op_per_user_put_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"}",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Upload Objects",
+ "range": false,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "ceph_rgw_op_per_user_get_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"}",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Get Objects",
+ "range": false,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "ceph_rgw_op_per_user_del_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"}",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Delete Objects",
+ "range": false,
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "ceph_rgw_op_per_user_copy_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"}",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Copy Objects",
+ "range": false,
+ "refId": "D"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Summary Per User By Bandwidth",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": { }
+ },
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "User": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #A": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #B": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #D": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #F": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "ceph_daemon": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "instance": {
+ "aggregations": [ ]
+ },
+ "user": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ }
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true,
+ "Time 7": true,
+ "__name__ 1": true,
+ "__name__ 2": true,
+ "__name__ 3": true,
+ "__name__ 4": true,
+ "__name__ 5": true,
+ "__name__ 6": true,
+ "__name__ 7": true,
+ "ceph_daemon 1": true,
+ "ceph_daemon 2": true,
+ "ceph_daemon 3": true,
+ "ceph_daemon 4": true,
+ "instance 1": true,
+ "instance 2": true,
+ "instance 3": true,
+ "instance 4": true,
+ "instance 5": true,
+ "instance 6": true,
+ "instance 7": true,
+ "instance_id 1": true,
+ "instance_id 2": true,
+ "instance_id 3": true,
+ "instance_id 4": true,
+ "instance_id 5": true,
+ "instance_id 6": true,
+ "instance_id 7": true,
+ "job 1": true,
+ "job 2": true,
+ "job 3": true,
+ "job 4": true,
+ "job 5": true,
+ "job 6": true,
+ "job 7": true
+ },
+ "indexByName": {
+ "Value #A": 2,
+ "Value #B": 3,
+ "Value #D": 4,
+ "Value #F": 5,
+ "ceph_daemon": 0,
+ "user": 1
+ },
+ "renameByName": {
+ "Bucket": "",
+ "Value #A": "PUTs",
+ "Value #B": "GETs",
+ "Value #C": "List",
+ "Value #D": "Delete",
+ "Value #E": "Copy",
+ "Value #F": "Copy",
+ "Value #G": "",
+ "ceph_daemon": "Daemon",
+ "user": "User"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "columns": [ ],
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "options": "number"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "ms"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "id": 13,
+ "links": [ ],
+ "options": {
+ "footer": {
+ "countRows": false,
+ "enablePagination": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "frameIndex": 1,
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "PUTs"
+ }
+ ]
+ },
+ "pluginVersion": "9.4.7",
+ "styles": "",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "ceph_rgw_op_per_user_list_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"}",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": false,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "ceph_rgw_op_per_user_put_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"}",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": false,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "ceph_rgw_op_per_user_get_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"}",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": false,
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "ceph_rgw_op_per_user_del_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"}",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": false,
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "ceph_rgw_op_per_user_copy_obj_lat_sum *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"}",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": false,
+ "refId": "E"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Latency(ms) Per User",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": { }
+ },
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "User",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "User": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #A": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #B": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #C": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #D": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #F": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "ceph_daemon": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "user": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ }
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true,
+ "Time 7": true,
+ "__name__ 1": true,
+ "__name__ 2": true,
+ "__name__ 3": true,
+ "__name__ 4": true,
+ "__name__ 5": true,
+ "__name__ 6": true,
+ "__name__ 7": true,
+ "ceph_daemon 1": true,
+ "ceph_daemon 2": true,
+ "ceph_daemon 3": true,
+ "ceph_daemon 4": true,
+ "ceph_daemon 5": true,
+ "instance 1": true,
+ "instance 2": true,
+ "instance 3": true,
+ "instance 4": true,
+ "instance 5": true,
+ "instance 6": true,
+ "instance 7": true,
+ "instance_id 1": true,
+ "instance_id 2": true,
+ "instance_id 3": true,
+ "instance_id 4": true,
+ "instance_id 5": true,
+ "instance_id 6": true,
+ "instance_id 7": true,
+ "job 1": true,
+ "job 2": true,
+ "job 3": true,
+ "job 4": true,
+ "job 5": true,
+ "job 6": true,
+ "job 7": true
+ },
+ "indexByName": {
+ "Value #A": 2,
+ "Value #B": 3,
+ "Value #C": 4,
+ "Value #D": 5,
+ "Value #F": 6,
+ "ceph_daemon": 0,
+ "user": 1
+ },
+ "renameByName": {
+ "Bucket": "",
+ "Value #A": "PUTs",
+ "Value #B": "GETs",
+ "Value #C": "List",
+ "Value #D": "Delete",
+ "Value #E": "Copy",
+ "Value #F": "Copy",
+ "Value #G": "",
+ "ceph_daemon": "Daemon",
+ "user": "User"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "collapse": false,
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 14,
+ "panels": [
+ {
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 29
+ },
+ "id": 15,
+ "options": {
+ "displayMode": "gradient",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "topk(5, \n sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_put_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})\n)",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{bucket}}",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "title": "Top 5 Bucket PUTs by Operations",
+ "type": "bargauge"
+ },
+ {
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 6,
+ "y": 29
+ },
+ "id": 16,
+ "options": {
+ "displayMode": "gradient",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "topk(5, \n sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_get_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})\n)",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{bucket}}",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "title": "Top 5 Bucket GETs by Operations",
+ "type": "bargauge"
+ },
+ {
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 12,
+ "y": 29
+ },
+ "id": 17,
+ "options": {
+ "displayMode": "gradient",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [ ]
+ }
+ },
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "topk(5,\n sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_put_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})\n)",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{bucket}}",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "title": "Top 5 Buckets PUTs By Size",
+ "type": "bargauge"
+ },
+ {
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 18,
+ "y": 29
+ },
+ "id": 18,
+ "options": {
+ "displayMode": "gradient",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [ ]
+ }
+ },
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "topk(5,\n sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_get_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})\n)",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{bucket}}",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "title": "Top 5 Buckets GETs By Size",
+ "type": "bargauge"
+ },
+ {
+ "datasource": "${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": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 37
+ },
+ "id": 19,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.3",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_put_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{bucket}}",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Bucket PUTs by Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${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": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 6,
+ "y": 37
+ },
+ "id": 20,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.3",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_get_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{bucket}}",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Bucket GETs by Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${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": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 12,
+ "y": 37
+ },
+ "id": 21,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.3",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_copy_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{bucket}}",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Bucket Copy by Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${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": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 18,
+ "y": 37
+ },
+ "id": 22,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.3",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_del_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{bucket}}",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Bucket Delete by Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${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": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 45
+ },
+ "id": 23,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.3",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_get_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{bucket}}",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Bucket GETs by Operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${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": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 6,
+ "y": 45
+ },
+ "id": 24,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.3",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_put_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{bucket}}",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Bucket PUTs by Operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${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": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 12,
+ "y": 45
+ },
+ "id": 25,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.3",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_list_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{bucket}}",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Bucket List by Operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${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": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 18,
+ "y": 45
+ },
+ "id": 26,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.3",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_del_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{bucket}}",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Bucket Delete by Operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${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": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 53
+ },
+ "id": 27,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.3",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum by (bucket, ceph_daemon) ((ceph_rgw_op_per_bucket_copy_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{bucket}}",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Bucket Copy by Operations",
+ "type": "timeseries"
+ },
+ {
+ "columns": [ ],
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "options": "number"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "none"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 53
+ },
+ "id": 28,
+ "links": [ ],
+ "options": {
+ "footer": {
+ "countRows": false,
+ "enablePagination": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "frameIndex": 1,
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "PUTs"
+ }
+ ]
+ },
+ "pluginVersion": "9.4.7",
+ "styles": "",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum by (bucket, ceph_daemon) (ceph_rgw_op_per_bucket_put_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": false,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum by (bucket, ceph_daemon) (ceph_rgw_op_per_bucket_get_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": false,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum by (bucket, ceph_daemon) (ceph_rgw_op_per_bucket_del_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": false,
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum by (bucket, ceph_daemon) (ceph_rgw_op_per_bucket_copy_obj_bytes *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": false,
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum by (bucket, ceph_daemon) (ceph_rgw_op_per_bucket_list_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": false,
+ "refId": "E"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Summary Per Bucket by Operations",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": { }
+ },
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "Bucket",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "Bucket": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #A": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #B": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #C": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #D": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #F": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "bucket": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "ceph_daemon": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ }
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time 1": true,
+ "Time 2": true,
+ "Time 3": true,
+ "Time 4": true,
+ "Time 5": true,
+ "Time 6": true,
+ "Time 7": true,
+ "__name__": true,
+ "__name__ 1": true,
+ "__name__ 2": true,
+ "__name__ 3": true,
+ "__name__ 4": true,
+ "__name__ 5": true,
+ "__name__ 6": true,
+ "__name__ 7": true,
+ "ceph_daemon 1": true,
+ "ceph_daemon 2": true,
+ "ceph_daemon 3": true,
+ "ceph_daemon 4": true,
+ "instance 1": true,
+ "instance 2": true,
+ "instance 3": true,
+ "instance 4": true,
+ "instance 5": true,
+ "instance 6": true,
+ "instance 7": true,
+ "instance_id 1": true,
+ "instance_id 2": true,
+ "instance_id 3": true,
+ "instance_id 4": true,
+ "instance_id 5": true,
+ "instance_id 6": true,
+ "instance_id 7": true,
+ "job 1": true,
+ "job 2": true,
+ "job 3": true,
+ "job 4": true,
+ "job 5": true,
+ "job 6": true,
+ "job 7": true
+ },
+ "indexByName": {
+ "Value #A": 2,
+ "Value #B": 3,
+ "Value #C": 4,
+ "Value #D": 5,
+ "Value #F": 6,
+ "bucket": 1,
+ "ceph_daemon": 0
+ },
+ "renameByName": {
+ "Bucket": "",
+ "Value #A": "PUTs",
+ "Value #B": "GETs",
+ "Value #C": "List",
+ "Value #D": "Delete",
+ "Value #E": "Copy",
+ "Value #F": "Copy",
+ "Value #G": "",
+ "bucket": "Bucket",
+ "ceph_daemon": "Daemon"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Buckets",
+ "titleSize": "h6",
+ "type": "row"
+ },
+ {
+ "collapse": false,
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 29
+ },
+ "id": 29,
+ "panels": [
+ {
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 62
+ },
+ "id": 30,
+ "options": {
+ "displayMode": "gradient",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "topk(5, \n sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_put_obj_ops ) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})\n)\n",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{user}}",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "title": "Top 5 Users PUTs By Operations",
+ "type": "bargauge"
+ },
+ {
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 6,
+ "y": 62
+ },
+ "id": 31,
+ "options": {
+ "displayMode": "gradient",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ]
+ }
+ },
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "topk(5, \n sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_get_obj_ops ) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})\n)\n",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{user}}",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "title": "Top 5 Users GETs by Operations",
+ "type": "bargauge"
+ },
+ {
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 12,
+ "y": 62
+ },
+ "id": 32,
+ "options": {
+ "displayMode": "gradient",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [ ]
+ }
+ },
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "topk(5, \n sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_put_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})\n)",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{user}}",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "title": "Top 5 Users PUTs by Size",
+ "type": "bargauge"
+ },
+ {
+ "datasource": "${datasource}",
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ }
+ }
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 18,
+ "y": 62
+ },
+ "id": 33,
+ "options": {
+ "displayMode": "gradient",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [ ]
+ }
+ },
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "topk(5, \n sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_get_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})\n)",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{user}}",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "title": "Top 5 Users GETs By Size",
+ "type": "bargauge"
+ },
+ {
+ "datasource": "${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": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 70
+ },
+ "id": 34,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.3",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_put_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{user}}",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "User PUTs by Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${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": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 6,
+ "y": 70
+ },
+ "id": 35,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.3",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_get_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{user}}",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "User GETs by Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${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": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 12,
+ "y": 70
+ },
+ "id": 36,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.3",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_del_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{user}}",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "User Delete by Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${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": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 18,
+ "y": 70
+ },
+ "id": 37,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.3",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_copy_obj_bytes) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{user}}",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "User COPY by Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${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": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 0,
+ "y": 78
+ },
+ "id": 38,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.3",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_get_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{user}}",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "User GETs by Operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${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": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 6,
+ "y": 78
+ },
+ "id": 39,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.3",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_put_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{user}}",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "User PUTs by Operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${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": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 12,
+ "y": 78
+ },
+ "id": 40,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.3",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_list_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{user}}",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "User List by Operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${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": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 6,
+ "x": 18,
+ "y": 78
+ },
+ "id": 41,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.3",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_del_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{user}}",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "User Delete by Operations",
+ "type": "timeseries"
+ },
+ {
+ "datasource": "${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": true,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 2,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "unit": "number"
+ },
+ "properties": [
+ {
+ "id": "color"
+ },
+ {
+ "id": "color",
+ "value": {
+ "mode": "palette-classic"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 86
+ },
+ "id": 42,
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "sortBy": "Last *",
+ "sortDesc": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.1.3",
+ "targets": [
+ {
+ "datasource": "${datasource}",
+ "expr": "sum by (user, ceph_daemon) ((ceph_rgw_op_per_user_copy_obj_ops) *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "time_series",
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{ceph_daemon}} - {{user}}",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "User Copy by Operations",
+ "type": "timeseries"
+ },
+ {
+ "columns": [ ],
+ "datasource": "${datasource}",
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "align": "auto",
+ "cellOptions": {
+ "type": "auto"
+ },
+ "filterable": false,
+ "inspect": false
+ },
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ }
+ ]
+ }
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byType",
+ "options": "number"
+ },
+ "properties": [
+ {
+ "id": "unit",
+ "value": "none"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 86
+ },
+ "id": 43,
+ "links": [ ],
+ "options": {
+ "footer": {
+ "countRows": false,
+ "enablePagination": false,
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "frameIndex": 1,
+ "showHeader": true,
+ "sortBy": [
+ {
+ "desc": true,
+ "displayName": "PUTs"
+ }
+ ]
+ },
+ "pluginVersion": "9.4.7",
+ "styles": "",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum by (user, ceph_daemon) (ceph_rgw_op_per_user_put_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": false,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum by (user, ceph_daemon) (ceph_rgw_op_per_user_get_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": false,
+ "refId": "B"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum by (user, ceph_daemon) (ceph_rgw_op_per_user_del_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": false,
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum by (user, ceph_daemon) (ceph_rgw_op_per_user_copy_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": false,
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "exemplar": false,
+ "expr": "sum by (user, ceph_daemon) (ceph_rgw_op_per_user_list_obj_ops *\n on (instance_id) group_left (ceph_daemon) ceph_rgw_metadata{ceph_daemon=~\"$rgw_servers\"})",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "__auto",
+ "range": false,
+ "refId": "E"
+ }
+ ],
+ "timeFrom": null,
+ "timeShift": null,
+ "title": "Summary Per User By Operations",
+ "transformations": [
+ {
+ "id": "merge",
+ "options": { }
+ },
+ {
+ "id": "joinByField",
+ "options": {
+ "byField": "User",
+ "mode": "outer"
+ }
+ },
+ {
+ "id": "groupBy",
+ "options": {
+ "fields": {
+ "User": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #A": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #B": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #C": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #D": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "Value #F": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "ceph_daemon": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ },
+ "user": {
+ "aggregations": [ ],
+ "operation": "groupby"
+ }
+ }
+ }
+ },
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": { },
+ "indexByName": {
+ "Value #A": 2,
+ "Value #B": 3,
+ "Value #C": 4,
+ "Value #D": 5,
+ "Value #F": 6,
+ "ceph_daemon": 0,
+ "user": 1
+ },
+ "renameByName": {
+ "Value #A": "PUTs",
+ "Value #B": "GETs",
+ "Value #C": "LIST",
+ "Value #D": "DELETE",
+ "Value #F": "COPY",
+ "ceph_daemon": "Daemon",
+ "user": "User"
+ }
+ }
+ }
+ ],
+ "type": "table"
+ }
+ ],
+ "repeat": null,
+ "repeatIteration": null,
+ "repeatRowId": null,
+ "showTitle": true,
+ "title": "Users",
+ "titleSize": "h6",
+ "type": "row"
+ }
+ ],
+ "refresh": "30s",
+ "rows": [ ],
+ "schemaVersion": 22,
+ "style": "dark",
+ "tags": [
+ "ceph-mixin"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "label": "Data Source",
+ "name": "datasource",
+ "options": [ ],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "type": "datasource"
+ },
+ {
+ "allValue": null,
+ "current": { },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": true,
+ "label": null,
+ "multi": false,
+ "name": "rgw_servers",
+ "options": [ ],
+ "query": "label_values(ceph_rgw_metadata{}, ceph_daemon)",
+ "refresh": 2,
+ "regex": "",
+ "sort": 0,
+ "tagValuesQuery": "",
+ "tags": [ ],
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "datasource": "$datasource",
+ "hide": 2,
+ "label": "filters",
+ "name": "Filters",
+ "type": "adhoc"
+ }
+ ]
+ },
+ "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": "RGW S3 Analytics",
+ "uid": "BnxelG7Sz",
+ "version": 0
+}
diff --git a/monitoring/ceph-mixin/tests_dashboards/util.py b/monitoring/ceph-mixin/tests_dashboards/util.py
index 4213ff6d5a1..c6369c5f834 100644
--- a/monitoring/ceph-mixin/tests_dashboards/util.py
+++ b/monitoring/ceph-mixin/tests_dashboards/util.py
@@ -55,7 +55,7 @@ def add_dashboard_queries(data: Dict[str, Any], dashboard_data: Dict[str, Any],
title = panel['title']
legend_format = target['legendFormat'] if 'legendFormat' in target else ""
query_id = f'{title}-{legend_format}'
- if query_id in panel_ids_in_file:
+ if query_id in panel_ids_in_file and legend_format != '__auto':
cprint((f'ERROR: Query in panel "{title}" with legend "{legend_format}"'
f' already exists in the same file: "{path}"'), 'red')
error = 1