From ac51f4beba3f2f38cb7dbc7d17dc365c1c54b59e Mon Sep 17 00:00:00 2001 From: Olha Kashyrina Date: Tue, 11 Oct 2022 11:35:52 +0200 Subject: [PATCH 1/3] add new grafana dashboards - add new panels in identity service - add dashboards for block storage, compute, image, network, storage services and endpoint monitoring --- dashboards/grafana/block_storage/apis.yaml | 20 +++++++++ .../grafana/block_storage/bad_calls.yaml | 23 ++++++++++ .../grafana/block_storage/dashboard.yaml | 4 ++ .../grafana/block_storage/failures.yaml | 42 +++++++++++++++++++ .../grafana/block_storage/longest_api.yaml | 21 ++++++++++ dashboards/grafana/block_storage/results.yaml | 40 ++++++++++++++++++ .../block_storage/volume_backup_creation.yaml | 22 ++++++++++ .../block_storage/volume_backup_restore.yaml | 22 ++++++++++ .../block_storage/volume_creation.yaml | 22 ++++++++++ .../volume_snapshot_creation.yaml | 22 ++++++++++ dashboards/grafana/compute/apis.yaml | 20 +++++++++ dashboards/grafana/compute/bad_calls.yaml | 23 ++++++++++ dashboards/grafana/compute/dashboard.yaml | 4 ++ dashboards/grafana/compute/failures.yaml | 42 +++++++++++++++++++ .../grafana/compute/instance_boot_coreos.yaml | 21 ++++++++++ .../grafana/compute/instance_boot_fedora.yaml | 20 +++++++++ dashboards/grafana/compute/longest_api.yaml | 21 ++++++++++ .../grafana/compute/metadata_failures.yaml | 21 ++++++++++ .../grafana/compute/metadata_latencies.yaml | 20 +++++++++ dashboards/grafana/compute/results.yaml | 40 ++++++++++++++++++ dashboards/grafana/compute/ssh.yaml | 26 ++++++++++++ dashboards/grafana/endpoint/apis.yaml | 26 ++++++++++++ dashboards/grafana/endpoint/dashboard.yaml | 4 ++ dashboards/grafana/endpoint/errors.yaml | 23 ++++++++++ dashboards/grafana/endpoint/no_response.yaml | 23 ++++++++++ .../grafana/endpoint/response_time.yaml | 20 +++++++++ dashboards/grafana/identity/apis.yaml | 9 +++- dashboards/grafana/identity/bad_calls.yaml | 23 ++++++++++ dashboards/grafana/identity/failures.yaml | 42 +++++++++++++++++++ dashboards/grafana/identity/longest_api.yaml | 9 +++- dashboards/grafana/identity/results.yaml | 1 + dashboards/grafana/identity/tokens.yaml | 20 +++++++++ dashboards/grafana/image/apis.yaml | 20 +++++++++ dashboards/grafana/image/bad_calls.yaml | 23 ++++++++++ dashboards/grafana/image/dashboard.yaml | 4 ++ dashboards/grafana/image/failures.yaml | 42 +++++++++++++++++++ dashboards/grafana/image/longest_api.yaml | 21 ++++++++++ dashboards/grafana/image/results.yaml | 40 ++++++++++++++++++ dashboards/grafana/network/apis.yaml | 20 +++++++++ dashboards/grafana/network/bad_calls.yaml | 23 ++++++++++ dashboards/grafana/network/dashboard.yaml | 4 ++ .../grafana/network/domains_errors.yaml | 23 ++++++++++ .../grafana/network/domains_latency.yaml | 21 ++++++++++ dashboards/grafana/network/failures.yaml | 42 +++++++++++++++++++ .../grafana/network/internal_errors.yaml | 21 ++++++++++ .../grafana/network/internal_latency.yaml | 21 ++++++++++ dashboards/grafana/network/longest_api.yaml | 21 ++++++++++ dashboards/grafana/network/ns_failures.yaml | 21 ++++++++++ dashboards/grafana/network/ns_lookup.yaml | 21 ++++++++++ .../grafana/network/outside_errors.yaml | 21 ++++++++++ .../grafana/network/outside_latency.yaml | 21 ++++++++++ dashboards/grafana/network/results.yaml | 40 ++++++++++++++++++ dashboards/grafana/storage/apis.yaml | 20 +++++++++ dashboards/grafana/storage/bad_calls.yaml | 23 ++++++++++ dashboards/grafana/storage/dashboard.yaml | 4 ++ dashboards/grafana/storage/failures.yaml | 42 +++++++++++++++++++ dashboards/grafana/storage/longest_api.yaml | 21 ++++++++++ dashboards/grafana/storage/results.yaml | 40 ++++++++++++++++++ 58 files changed, 1314 insertions(+), 2 deletions(-) create mode 100644 dashboards/grafana/block_storage/apis.yaml create mode 100644 dashboards/grafana/block_storage/bad_calls.yaml create mode 100644 dashboards/grafana/block_storage/dashboard.yaml create mode 100644 dashboards/grafana/block_storage/failures.yaml create mode 100644 dashboards/grafana/block_storage/longest_api.yaml create mode 100644 dashboards/grafana/block_storage/results.yaml create mode 100644 dashboards/grafana/block_storage/volume_backup_creation.yaml create mode 100644 dashboards/grafana/block_storage/volume_backup_restore.yaml create mode 100644 dashboards/grafana/block_storage/volume_creation.yaml create mode 100644 dashboards/grafana/block_storage/volume_snapshot_creation.yaml create mode 100644 dashboards/grafana/compute/apis.yaml create mode 100644 dashboards/grafana/compute/bad_calls.yaml create mode 100644 dashboards/grafana/compute/dashboard.yaml create mode 100644 dashboards/grafana/compute/failures.yaml create mode 100644 dashboards/grafana/compute/instance_boot_coreos.yaml create mode 100644 dashboards/grafana/compute/instance_boot_fedora.yaml create mode 100644 dashboards/grafana/compute/longest_api.yaml create mode 100644 dashboards/grafana/compute/metadata_failures.yaml create mode 100644 dashboards/grafana/compute/metadata_latencies.yaml create mode 100644 dashboards/grafana/compute/results.yaml create mode 100644 dashboards/grafana/compute/ssh.yaml create mode 100644 dashboards/grafana/endpoint/apis.yaml create mode 100644 dashboards/grafana/endpoint/dashboard.yaml create mode 100644 dashboards/grafana/endpoint/errors.yaml create mode 100644 dashboards/grafana/endpoint/no_response.yaml create mode 100644 dashboards/grafana/endpoint/response_time.yaml create mode 100644 dashboards/grafana/identity/bad_calls.yaml create mode 100644 dashboards/grafana/identity/failures.yaml create mode 100644 dashboards/grafana/identity/tokens.yaml create mode 100644 dashboards/grafana/image/apis.yaml create mode 100644 dashboards/grafana/image/bad_calls.yaml create mode 100644 dashboards/grafana/image/dashboard.yaml create mode 100644 dashboards/grafana/image/failures.yaml create mode 100644 dashboards/grafana/image/longest_api.yaml create mode 100644 dashboards/grafana/image/results.yaml create mode 100644 dashboards/grafana/network/apis.yaml create mode 100644 dashboards/grafana/network/bad_calls.yaml create mode 100644 dashboards/grafana/network/dashboard.yaml create mode 100644 dashboards/grafana/network/domains_errors.yaml create mode 100644 dashboards/grafana/network/domains_latency.yaml create mode 100644 dashboards/grafana/network/failures.yaml create mode 100644 dashboards/grafana/network/internal_errors.yaml create mode 100644 dashboards/grafana/network/internal_latency.yaml create mode 100644 dashboards/grafana/network/longest_api.yaml create mode 100644 dashboards/grafana/network/ns_failures.yaml create mode 100644 dashboards/grafana/network/ns_lookup.yaml create mode 100644 dashboards/grafana/network/outside_errors.yaml create mode 100644 dashboards/grafana/network/outside_latency.yaml create mode 100644 dashboards/grafana/network/results.yaml create mode 100644 dashboards/grafana/storage/apis.yaml create mode 100644 dashboards/grafana/storage/bad_calls.yaml create mode 100644 dashboards/grafana/storage/dashboard.yaml create mode 100644 dashboards/grafana/storage/failures.yaml create mode 100644 dashboards/grafana/storage/longest_api.yaml create mode 100644 dashboards/grafana/storage/results.yaml diff --git a/dashboards/grafana/block_storage/apis.yaml b/dashboards/grafana/block_storage/apis.yaml new file mode 100644 index 0000000..f66ae62 --- /dev/null +++ b/dashboards/grafana/block_storage/apis.yaml @@ -0,0 +1,20 @@ +--- +order: 6 +gridPos: + w: 24 + h: 8 + y: 6 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "sortByName(groupByNodes(removeEmptySeries(stats.timers.openstack.api.$environment.$zone.block-storage.*.*.*.mean, 0.01), 'sum', 8, 7, 9), true)" +title: "API calls duration" +type: "timeseries" diff --git a/dashboards/grafana/block_storage/bad_calls.yaml b/dashboards/grafana/block_storage/bad_calls.yaml new file mode 100644 index 0000000..f98947d --- /dev/null +++ b/dashboards/grafana/block_storage/bad_calls.yaml @@ -0,0 +1,23 @@ +--- +order: 8 +description: "API calls received error HTTP response code." +gridPos: + w: 24 + h: 8 + y: 8 +bars: true +fieldConfig: + defaults: + custom: + drawStyle: "bars" + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["count"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "removeEmptySeries(aliasByMetric(consolidateBy(groupByNode(exclude(stats.timers.openstack.api.$environment.$zone.block-storage.*.*.{4*,5*}.count, '404'), 9, 'sum'), 'sum')), 0.001)" +title: "BAD calls" +type: "timeseries" diff --git a/dashboards/grafana/block_storage/dashboard.yaml b/dashboards/grafana/block_storage/dashboard.yaml new file mode 100644 index 0000000..a896653 --- /dev/null +++ b/dashboards/grafana/block_storage/dashboard.yaml @@ -0,0 +1,4 @@ +--- +title: "Block Storage Service Statistics" +uid: "CloudMonBlockStorage" +description: "Data for the Block Storage service" diff --git a/dashboards/grafana/block_storage/failures.yaml b/dashboards/grafana/block_storage/failures.yaml new file mode 100644 index 0000000..970528b --- /dev/null +++ b/dashboards/grafana/block_storage/failures.yaml @@ -0,0 +1,42 @@ +--- +order: 9 +datasource: apimon_db +gridPos: + w: 24 + h: 10 + y: 9 +options: + showHeader: true +fieldConfig: + overrides: + - matcher: + id: "byName" + options: "job_id" + properties: + - id: "links" + value: + - targetBlank: true + url: "${__value.raw}" +targets: + - refId: "A" + datasource: apimon_db + format: "table" + metricColumn: "long_name" + rawSql: | + SELECT + result_task."timestamp" AS "time", + result_task.action AS "Action", + result_task.name AS "Name", + result_task.job_id AS "job_id", + result_task.result, + result_task.anonymized_response + FROM result_summary + INNER JOIN result_task on result_summary.job_id = result_task.job_id AND result_task.environment = result_summary.environment AND result_task.zone = result_summary.zone AND $__timeFilter(result_summary."timestamp") WHERE + $__timeFilter(result_task."timestamp") AND + result_task.environment = '$environment' AND + result_task.zone in ('$zone') AND + result_task.result = 3 AND + result_summary.result = 3 + ORDER BY 1 DESC +title: "Failures in Tasks" +type: "table" diff --git a/dashboards/grafana/block_storage/longest_api.yaml b/dashboards/grafana/block_storage/longest_api.yaml new file mode 100644 index 0000000..33ed80d --- /dev/null +++ b/dashboards/grafana/block_storage/longest_api.yaml @@ -0,0 +1,21 @@ +--- +order: 7 +description: "API calls which has occurences longer then 10s." +gridPos: + h: 8 + w: 24 + y: 7 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {"calcs": ["min", "mean", "max"], "displayMode": "table", "placement": "right"} + tooltip: {"mode": "single", "sort": "none"} +targets: + - refId: "A" + target: "maximumAbove(groupByNodes(removeEmptySeries(stats.timers.openstack.api.$environment.$zone.block-storage.*.*.*.upper), 'sum', 8, 7, 9), 10000)" +title: "Highest API calls duration" +type: "timeseries" diff --git a/dashboards/grafana/block_storage/results.yaml b/dashboards/grafana/block_storage/results.yaml new file mode 100644 index 0000000..6a86d99 --- /dev/null +++ b/dashboards/grafana/block_storage/results.yaml @@ -0,0 +1,40 @@ +--- +order: 100 +datasource: apimon_db +gridPos: + w: 24 + h: 10 + y: 10 +options: + showHeader: true +fieldConfig: + overrides: + - matcher: + id: "byName" + options: "log_url" + properties: + - id: "links" + value: + - targetBlank: true + url: "${__value.raw}" +targets: + - refId: "A" + datasource: apimon_db + format: "table" + metricColumn: "long_name" + rawSql: | + SELECT + result_summary."timestamp" AS "time", + result_summary.name AS "Name", + result_summary.job_id AS "job_id", + result_summary.result, + jobs.log_url + FROM result_summary + JOIN jobs on result_summary.job_id = jobs.job_id + WHERE + $__timeFilter(result_summary."timestamp") AND + result_summary.environment = '$environment' AND + result_summary.zone in ($zone) + ORDER BY 1 DESC +title: "Scenario results" +type: "table" diff --git a/dashboards/grafana/block_storage/volume_backup_creation.yaml b/dashboards/grafana/block_storage/volume_backup_creation.yaml new file mode 100644 index 0000000..7b102f3 --- /dev/null +++ b/dashboards/grafana/block_storage/volume_backup_creation.yaml @@ -0,0 +1,22 @@ +--- +order: 4 +gridPos: + w: 24 + h: 8 + y: 4 +bars: true +fieldConfig: + defaults: + custom: + drawStyle: "bars" + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "groupByNode(consolidateBy(stats.timers.apimon.metric.$environment.$zone.create_volume_backup.{default}.passed.upper_90, 'sum'), 7, 'avg')" +title: "Volume Backup creation duration" +type: "timeseries" diff --git a/dashboards/grafana/block_storage/volume_backup_restore.yaml b/dashboards/grafana/block_storage/volume_backup_restore.yaml new file mode 100644 index 0000000..fb39f8d --- /dev/null +++ b/dashboards/grafana/block_storage/volume_backup_restore.yaml @@ -0,0 +1,22 @@ +--- +order: 5 +gridPos: + w: 24 + h: 8 + y: 5 +bars: true +fieldConfig: + defaults: + custom: + drawStyle: "bars" + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "groupByNode(consolidateBy(stats.timers.apimon.metric.$environment.$zone.restore_volume_backup.passed.upper_90, 'sum'), 7, 'avg')" +title: "Volume Backup Restore duration" +type: "timeseries" diff --git a/dashboards/grafana/block_storage/volume_creation.yaml b/dashboards/grafana/block_storage/volume_creation.yaml new file mode 100644 index 0000000..d014ba8 --- /dev/null +++ b/dashboards/grafana/block_storage/volume_creation.yaml @@ -0,0 +1,22 @@ +--- +order: 2 +gridPos: + w: 24 + h: 8 + y: 2 +bars: true +fieldConfig: + defaults: + custom: + drawStyle: "bars" + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "groupByNode(consolidateBy(stats.timers.apimon.metric.$environment.$zone.create_volume.{_availability*,default,eu*}.passed.upper_90, 'sum'), 7, 'avg')" +title: "Volume creation duration" +type: "timeseries" diff --git a/dashboards/grafana/block_storage/volume_snapshot_creation.yaml b/dashboards/grafana/block_storage/volume_snapshot_creation.yaml new file mode 100644 index 0000000..03e8c9f --- /dev/null +++ b/dashboards/grafana/block_storage/volume_snapshot_creation.yaml @@ -0,0 +1,22 @@ +--- +order: 3 +gridPos: + w: 24 + h: 8 + y: 3 +bars: true +fieldConfig: + defaults: + custom: + drawStyle: "bars" + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "groupByNode(consolidateBy(stats.timers.apimon.metric.$environment.$zone.create_volume_snapshot.passed.upper_90, 'sum'), 7, 'avg')" +title: "Volume Snapshot creation duration" +type: "timeseries" diff --git a/dashboards/grafana/compute/apis.yaml b/dashboards/grafana/compute/apis.yaml new file mode 100644 index 0000000..3b71756 --- /dev/null +++ b/dashboards/grafana/compute/apis.yaml @@ -0,0 +1,20 @@ +--- +order: 5 +gridPos: + w: 24 + h: 8 + y: 5 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "sortByName(groupByNodes(removeEmptySeries(stats.timers.openstack.api.$environment.$zone.compute.*.*.*.mean, 0.01), 'sum', 8, 7, 9), true)" +title: "API calls duration" +type: "timeseries" diff --git a/dashboards/grafana/compute/bad_calls.yaml b/dashboards/grafana/compute/bad_calls.yaml new file mode 100644 index 0000000..489574c --- /dev/null +++ b/dashboards/grafana/compute/bad_calls.yaml @@ -0,0 +1,23 @@ +--- +order: 7 +description: "API calls received error HTTP response code." +gridPos: + w: 24 + h: 8 + y: 7 +bars: true +fieldConfig: + defaults: + custom: + drawStyle: "bars" + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["count"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "removeEmptySeries(aliasByMetric(consolidateBy(groupByNode(exclude(stats.timers.openstack.api.$environment.$zone.compute.*.*.{4*,5*}.count, '404'), 9, 'sum'), 'sum')), 0.001)" +title: "BAD calls" +type: "timeseries" diff --git a/dashboards/grafana/compute/dashboard.yaml b/dashboards/grafana/compute/dashboard.yaml new file mode 100644 index 0000000..7425e44 --- /dev/null +++ b/dashboards/grafana/compute/dashboard.yaml @@ -0,0 +1,4 @@ +--- +title: "Compute Service Statistics" +uid: "CloudMonCompute" +description: "Data for the Compute service" diff --git a/dashboards/grafana/compute/failures.yaml b/dashboards/grafana/compute/failures.yaml new file mode 100644 index 0000000..99a74b1 --- /dev/null +++ b/dashboards/grafana/compute/failures.yaml @@ -0,0 +1,42 @@ +--- +order: 8 +datasource: apimon_db +gridPos: + w: 24 + h: 10 + y: 8 +options: + showHeader: true +fieldConfig: + overrides: + - matcher: + id: "byName" + options: "job_id" + properties: + - id: "links" + value: + - targetBlank: true + url: "${__value.raw}" +targets: + - refId: "A" + datasource: apimon_db + format: "table" + metricColumn: "long_name" + rawSql: | + SELECT + result_task."timestamp" AS "time", + result_task.action AS "Action", + result_task.name AS "Name", + result_task.job_id AS "job_id", + result_task.result, + result_task.anonymized_response + FROM result_summary + INNER JOIN result_task on result_summary.job_id = result_task.job_id AND result_task.environment = result_summary.environment AND result_task.zone = result_summary.zone AND $__timeFilter(result_summary."timestamp") WHERE + $__timeFilter(result_task."timestamp") AND + result_task.environment = '$environment' AND + result_task.zone in ('$zone') AND + result_task.result = 3 AND + result_summary.result = 3 + ORDER BY 1 DESC +title: "Failures in Tasks" +type: "table" diff --git a/dashboards/grafana/compute/instance_boot_coreos.yaml b/dashboards/grafana/compute/instance_boot_coreos.yaml new file mode 100644 index 0000000..61f6490 --- /dev/null +++ b/dashboards/grafana/compute/instance_boot_coreos.yaml @@ -0,0 +1,21 @@ +--- +order: 3 +gridPos: + w: 12 + h: 6 + y: 3 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {displayMode: "list", placement: "bottom"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + datasource: cloudmon + target: "groupByNode(stats.timers.apimon.metric.$environment.$zone.create_server_coreos.{default,eu*}.*.mean_90, 7, 'avg')" +title: "Instance Boot duration (coreos)" +type: "timeseries" diff --git a/dashboards/grafana/compute/instance_boot_fedora.yaml b/dashboards/grafana/compute/instance_boot_fedora.yaml new file mode 100644 index 0000000..04854dd --- /dev/null +++ b/dashboards/grafana/compute/instance_boot_fedora.yaml @@ -0,0 +1,20 @@ +--- +order: 2 +gridPos: + w: 12 + h: 6 + y: 2 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {displayMode: "list", placement: "bottom"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "groupByNode(stats.timers.apimon.metric.$environment.$zone.create_server.{default,eu*}.*.mean_90, 7, 'avg')" +title: "Instance Boot duration (Fedora33)" +type: "timeseries" diff --git a/dashboards/grafana/compute/longest_api.yaml b/dashboards/grafana/compute/longest_api.yaml new file mode 100644 index 0000000..1b55c69 --- /dev/null +++ b/dashboards/grafana/compute/longest_api.yaml @@ -0,0 +1,21 @@ +--- +order: 6 +description: "API calls which has occurences longer then 10s." +gridPos: + h: 8 + w: 24 + y: 6 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {"calcs": ["min", "mean", "max"], "displayMode": "table", "placement": "right"} + tooltip: {"mode": "single", "sort": "none"} +targets: + - refId: "A" + target: "maximumAbove(groupByNodes(removeEmptySeries(stats.timers.openstack.api.$environment.$zone.compute.*.*.*.upper), 'sum', 8, 7, 9), 10000)" +title: "Highest API calls duration" +type: "timeseries" diff --git a/dashboards/grafana/compute/metadata_failures.yaml b/dashboards/grafana/compute/metadata_failures.yaml new file mode 100644 index 0000000..906209a --- /dev/null +++ b/dashboards/grafana/compute/metadata_failures.yaml @@ -0,0 +1,21 @@ +--- +order: 3 +gridPos: + w: 12 + h: 6 + x: 12 + y: 3 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {displayMode: "list", placement: "bottom"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "groupByNodes(stats.counters.apimon.metric.$environment.$zone.metadata.*.failed, 'sum', 7)" +title: "Metadada Query failures" +type: "timeseries" diff --git a/dashboards/grafana/compute/metadata_latencies.yaml b/dashboards/grafana/compute/metadata_latencies.yaml new file mode 100644 index 0000000..c62f208 --- /dev/null +++ b/dashboards/grafana/compute/metadata_latencies.yaml @@ -0,0 +1,20 @@ +--- +order: 4 +gridPos: + w: 12 + h: 6 + y: 4 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {displayMode: "list", placement: "bottom"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "aliasByNode(removeEmptySeries(stats.timers.apimon.metric.$environment.$zone.metadata.*.*.*.mean), 9, 8)" +title: "Metadada Server latencies" +type: "timeseries" diff --git a/dashboards/grafana/compute/results.yaml b/dashboards/grafana/compute/results.yaml new file mode 100644 index 0000000..6ddcfe9 --- /dev/null +++ b/dashboards/grafana/compute/results.yaml @@ -0,0 +1,40 @@ +--- +order: 100 +datasource: apimon_db +gridPos: + w: 24 + h: 10 + y: 8 +options: + showHeader: true +fieldConfig: + overrides: + - matcher: + id: "byName" + options: "log_url" + properties: + - id: "links" + value: + - targetBlank: true + url: "${__value.raw}" +targets: + - refId: "A" + datasource: apimon_db + format: "table" + metricColumn: "long_name" + rawSql: | + SELECT + result_summary."timestamp" AS "time", + result_summary.name AS "Name", + result_summary.job_id AS "job_id", + result_summary.result, + jobs.log_url + FROM result_summary + JOIN jobs on result_summary.job_id = jobs.job_id + WHERE + $__timeFilter(result_summary."timestamp") AND + result_summary.environment = '$environment' AND + result_summary.zone in ($zone) + ORDER BY 1 DESC +title: "Scenario results" +type: "table" diff --git a/dashboards/grafana/compute/ssh.yaml b/dashboards/grafana/compute/ssh.yaml new file mode 100644 index 0000000..0b23de7 --- /dev/null +++ b/dashboards/grafana/compute/ssh.yaml @@ -0,0 +1,26 @@ +--- +order: 2 +gridPos: + w: 12 + h: 6 + x: 12 + y: 2 +fieldConfig: + defaults: + thresholds: {mode: "absolute", steps: [ + {color: "green", value: null}, + {color: "red", value: 100000000} + ]} + color: + mode: "thresholds" + max: 100 + min: 0 + noValue: "0" +options: + legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "aliasByMetric(summarize(groupByNode(stats.counters.apimon.metric.$environment.$zone.{create_server,create_server_coreos}.{default,eu*}.passed.count, 7, 'sum'), '1d', 'sum', false))" +title: "SSH Successful Logins" +type: "gauge" diff --git a/dashboards/grafana/endpoint/apis.yaml b/dashboards/grafana/endpoint/apis.yaml new file mode 100644 index 0000000..eb48c17 --- /dev/null +++ b/dashboards/grafana/endpoint/apis.yaml @@ -0,0 +1,26 @@ +--- +order: 1 +gridPos: + w: 24 + h: 16 + y: 1 +fieldConfig: + defaults: + thresholds: + mode: "percentage" + steps: [ + {color: "red", value: null}, + {color: "yellow", value: 80}, + {color: "green", value: 99} + ] + color: + mode: "thresholds" + noValue: "0" + unit: "percent" + min: 0 + max: 100 +targets: + - refId: "A" + target: "aliasByMetric(summarize(groupByNode(applyByNode(stats.timers.openstack.api.$environment.$zone.*.*.*.*.count, 6, \"asPercent(sumSeries(%.*.*.{2*,3*,404}.count), sumSeries(%.*.*.*.count))\", \"%.pct\"), 6, 'avg'), '1hour', 'avg'))" +title: "Endpoint status" +type: "gauge" diff --git a/dashboards/grafana/endpoint/dashboard.yaml b/dashboards/grafana/endpoint/dashboard.yaml new file mode 100644 index 0000000..0dfa067 --- /dev/null +++ b/dashboards/grafana/endpoint/dashboard.yaml @@ -0,0 +1,4 @@ +--- +title: "Endpoint Monitoring" +uid: "CloudMonEndpoint" +description: "Data for the Endpoint Monitoring" diff --git a/dashboards/grafana/endpoint/errors.yaml b/dashboards/grafana/endpoint/errors.yaml new file mode 100644 index 0000000..9ce2061 --- /dev/null +++ b/dashboards/grafana/endpoint/errors.yaml @@ -0,0 +1,23 @@ +--- +order: 3 +gridPos: + w: 24 + h: 9 + y: 3 +bars: true +fieldConfig: + defaults: + custom: + drawStyle: "bars" + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {displayMode: "list", placement: "bottom"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "maximumAbove(groupByNodes(exclude(stats.timers.openstack.api.$environment.$zone.*.*.*.{4*,5*}.count, '404|dns.GET.zone.400|dns.GET.zone_recordset.400'), 'sum', 6, 9), 0)" +title: "Amount of errors" +type: "timeseries" +interval: "5m" diff --git a/dashboards/grafana/endpoint/no_response.yaml b/dashboards/grafana/endpoint/no_response.yaml new file mode 100644 index 0000000..71fe105 --- /dev/null +++ b/dashboards/grafana/endpoint/no_response.yaml @@ -0,0 +1,23 @@ +--- +order: 2 +gridPos: + w: 8 + h: 9 + x: 16 + y: 2 +bars: true +fieldConfig: + defaults: + custom: + drawStyle: "bars" + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {displayMode: "list", placement: "bottom"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "groupByNode(removeBelowValue(stats.counters.openstack.api.$environment.$zone.*.*.*.failed.count, 0.1), 6, 'sum')" +title: "No response" +type: "timeseries" diff --git a/dashboards/grafana/endpoint/response_time.yaml b/dashboards/grafana/endpoint/response_time.yaml new file mode 100644 index 0000000..21cda32 --- /dev/null +++ b/dashboards/grafana/endpoint/response_time.yaml @@ -0,0 +1,20 @@ +--- +order: 2 +gridPos: + w: 16 + h: 9 + y: 2 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {displayMode: "list", placement: "bottom"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "groupByNode(stats.timers.openstack.api.$environment.$zone.*.*.*.*.upper, 6, 'avg')" +title: "Endpoint response times" +type: "timeseries" diff --git a/dashboards/grafana/identity/apis.yaml b/dashboards/grafana/identity/apis.yaml index 2972389..6bd3161 100644 --- a/dashboards/grafana/identity/apis.yaml +++ b/dashboards/grafana/identity/apis.yaml @@ -1,8 +1,15 @@ --- -order: 10 +order: 3 gridPos: w: 24 h: 8 + y: 3 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" options: legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/identity/bad_calls.yaml b/dashboards/grafana/identity/bad_calls.yaml new file mode 100644 index 0000000..5912d0c --- /dev/null +++ b/dashboards/grafana/identity/bad_calls.yaml @@ -0,0 +1,23 @@ +--- +order: 5 +description: "API calls received error HTTP response code." +gridPos: + w: 24 + h: 8 + y: 5 +bars: true +fieldConfig: + defaults: + custom: + drawStyle: "bars" + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["count"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "removeEmptySeries(aliasByMetric(consolidateBy(groupByNode(exclude(stats.timers.openstack.api.$environment.$zone.identity.*.*.{4*,5*}.count, '404'), 9, 'sum'), 'sum')), 0.001)" +title: "BAD calls" +type: "timeseries" diff --git a/dashboards/grafana/identity/failures.yaml b/dashboards/grafana/identity/failures.yaml new file mode 100644 index 0000000..5fb7a82 --- /dev/null +++ b/dashboards/grafana/identity/failures.yaml @@ -0,0 +1,42 @@ +--- +order: 6 +datasource: apimon_db +gridPos: + w: 24 + h: 10 + y: 6 +options: + showHeader: true +fieldConfig: + overrides: + - matcher: + id: "byName" + options: "job_id" + properties: + - id: "links" + value: + - targetBlank: true + url: "${__value.raw}" +targets: + - refId: "A" + datasource: apimon_db + format: "table" + metricColumn: "long_name" + rawSql: | + SELECT + result_task."timestamp" AS "time", + result_task.action AS "Action", + result_task.name AS "Name", + result_task.job_id AS "job_id", + result_task.result, + result_task.anonymized_response + FROM result_summary + INNER JOIN result_task on result_summary.job_id = result_task.job_id AND result_task.environment = result_summary.environment AND result_task.zone = result_summary.zone AND $__timeFilter(result_summary."timestamp") WHERE + $__timeFilter(result_task."timestamp") AND + result_task.environment = '$environment' AND + result_task.zone in ('$zone') AND + result_task.result = 3 AND + result_summary.result = 3 + ORDER BY 1 DESC +title: "Failures in Tasks" +type: "table" diff --git a/dashboards/grafana/identity/longest_api.yaml b/dashboards/grafana/identity/longest_api.yaml index e2b6e7c..6932ecc 100644 --- a/dashboards/grafana/identity/longest_api.yaml +++ b/dashboards/grafana/identity/longest_api.yaml @@ -1,9 +1,16 @@ --- -order: 11 +order: 4 description: "API calls which has occurences longer then 10s." gridPos: h: 8 w: 24 + y: 4 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" options: legend: {"calcs": ["min", "mean", "max"], "displayMode": "table", "placement": "right"} tooltip: {"mode": "single", "sort": "none"} diff --git a/dashboards/grafana/identity/results.yaml b/dashboards/grafana/identity/results.yaml index c0b7ecc..b838022 100644 --- a/dashboards/grafana/identity/results.yaml +++ b/dashboards/grafana/identity/results.yaml @@ -4,6 +4,7 @@ datasource: apimon_db gridPos: w: 24 h: 10 + y: 7 options: showHeader: true fieldConfig: diff --git a/dashboards/grafana/identity/tokens.yaml b/dashboards/grafana/identity/tokens.yaml new file mode 100644 index 0000000..a446601 --- /dev/null +++ b/dashboards/grafana/identity/tokens.yaml @@ -0,0 +1,20 @@ +--- +order: 2 +gridPos: + w: 24 + h: 8 + y: 2 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + pointSize: 2 +options: + legend: {displayMode: "list", placement: "bottom"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "aliasByNode(consolidateBy(stats.timers.openstack.api.$environment.$zone.identity.POST.tokens.201.upper_90, 'max'), 5)" +title: "Token creation duration" +type: "timeseries" diff --git a/dashboards/grafana/image/apis.yaml b/dashboards/grafana/image/apis.yaml new file mode 100644 index 0000000..a6be05c --- /dev/null +++ b/dashboards/grafana/image/apis.yaml @@ -0,0 +1,20 @@ +--- +order: 2 +gridPos: + w: 24 + h: 8 + y: 2 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "sortByName(groupByNodes(removeEmptySeries(stats.timers.openstack.api.$environment.$zone.image.*.*.*.mean, 0.01), 'sum', 8, 7, 9), true)" +title: "API calls duration" +type: "timeseries" diff --git a/dashboards/grafana/image/bad_calls.yaml b/dashboards/grafana/image/bad_calls.yaml new file mode 100644 index 0000000..5530a8e --- /dev/null +++ b/dashboards/grafana/image/bad_calls.yaml @@ -0,0 +1,23 @@ +--- +order: 4 +description: "API calls received error HTTP response code." +gridPos: + w: 24 + h: 8 + y: 4 +bars: true +fieldConfig: + defaults: + custom: + drawStyle: "bars" + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["count"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "removeEmptySeries(aliasByMetric(consolidateBy(groupByNode(exclude(stats.timers.openstack.api.$environment.$zone.image.*.*.{4*,5*}.count, '404'), 9, 'sum'), 'sum')), 0.001)" +title: "BAD calls" +type: "timeseries" diff --git a/dashboards/grafana/image/dashboard.yaml b/dashboards/grafana/image/dashboard.yaml new file mode 100644 index 0000000..83239ff --- /dev/null +++ b/dashboards/grafana/image/dashboard.yaml @@ -0,0 +1,4 @@ +--- +title: "Image Service Statistics" +uid: "CloudMonImage" +description: "Data for the Image service" diff --git a/dashboards/grafana/image/failures.yaml b/dashboards/grafana/image/failures.yaml new file mode 100644 index 0000000..ce8670a --- /dev/null +++ b/dashboards/grafana/image/failures.yaml @@ -0,0 +1,42 @@ +--- +order: 5 +datasource: apimon_db +gridPos: + w: 24 + h: 10 + y: 5 +options: + showHeader: true +fieldConfig: + overrides: + - matcher: + id: "byName" + options: "job_id" + properties: + - id: "links" + value: + - targetBlank: true + url: "${__value.raw}" +targets: + - refId: "A" + datasource: apimon_db + format: "table" + metricColumn: "long_name" + rawSql: | + SELECT + result_task."timestamp" AS "time", + result_task.action AS "Action", + result_task.name AS "Name", + result_task.job_id AS "job_id", + result_task.result, + result_task.anonymized_response + FROM result_summary + INNER JOIN result_task on result_summary.job_id = result_task.job_id AND result_task.environment = result_summary.environment AND result_task.zone = result_summary.zone AND $__timeFilter(result_summary."timestamp") WHERE + $__timeFilter(result_task."timestamp") AND + result_task.environment = '$environment' AND + result_task.zone in ('$zone') AND + result_task.result = 3 AND + result_summary.result = 3 + ORDER BY 1 DESC +title: "Failures in Tasks" +type: "table" diff --git a/dashboards/grafana/image/longest_api.yaml b/dashboards/grafana/image/longest_api.yaml new file mode 100644 index 0000000..3b9c163 --- /dev/null +++ b/dashboards/grafana/image/longest_api.yaml @@ -0,0 +1,21 @@ +--- +order: 3 +description: "API calls which has occurences longer then 10s." +gridPos: + h: 8 + w: 24 + y: 3 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {"calcs": ["min", "mean", "max"], "displayMode": "table", "placement": "right"} + tooltip: {"mode": "single", "sort": "none"} +targets: + - refId: "A" + target: "maximumAbove(groupByNodes(removeEmptySeries(stats.timers.openstack.api.$environment.$zone.image.*.*.*.upper), 'sum', 8, 7, 9), 10000)" +title: "Highest API calls duration" +type: "timeseries" diff --git a/dashboards/grafana/image/results.yaml b/dashboards/grafana/image/results.yaml new file mode 100644 index 0000000..01817cc --- /dev/null +++ b/dashboards/grafana/image/results.yaml @@ -0,0 +1,40 @@ +--- +order: 100 +datasource: apimon_db +gridPos: + w: 24 + h: 10 + y: 6 +options: + showHeader: true +fieldConfig: + overrides: + - matcher: + id: "byName" + options: "log_url" + properties: + - id: "links" + value: + - targetBlank: true + url: "${__value.raw}" +targets: + - refId: "A" + datasource: apimon_db + format: "table" + metricColumn: "long_name" + rawSql: | + SELECT + result_summary."timestamp" AS "time", + result_summary.name AS "Name", + result_summary.job_id AS "job_id", + result_summary.result, + jobs.log_url + FROM result_summary + JOIN jobs on result_summary.job_id = jobs.job_id + WHERE + $__timeFilter(result_summary."timestamp") AND + result_summary.environment = '$environment' AND + result_summary.zone in ($zone) + ORDER BY 1 DESC +title: "Scenario results" +type: "table" diff --git a/dashboards/grafana/network/apis.yaml b/dashboards/grafana/network/apis.yaml new file mode 100644 index 0000000..474e9fe --- /dev/null +++ b/dashboards/grafana/network/apis.yaml @@ -0,0 +1,20 @@ +--- +order: 7 +gridPos: + w: 24 + h: 8 + y: 7 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "sortByName(groupByNodes(removeEmptySeries(stats.timers.openstack.api.$environment.$zone.network.*.*.*.mean, 0.01), 'sum', 8, 7, 9), true)" +title: "API calls duration" +type: "timeseries" diff --git a/dashboards/grafana/network/bad_calls.yaml b/dashboards/grafana/network/bad_calls.yaml new file mode 100644 index 0000000..2d778f8 --- /dev/null +++ b/dashboards/grafana/network/bad_calls.yaml @@ -0,0 +1,23 @@ +--- +order: 9 +description: "API calls received error HTTP response code." +gridPos: + w: 24 + h: 8 + y: 9 +bars: true +fieldConfig: + defaults: + custom: + drawStyle: "bars" + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["count"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "removeEmptySeries(aliasByMetric(consolidateBy(groupByNode(exclude(stats.timers.openstack.api.$environment.$zone.network.*.*.{4*,5*}.count, '404'), 9, 'sum'), 'sum')), 0.001)" +title: "BAD calls" +type: "timeseries" diff --git a/dashboards/grafana/network/dashboard.yaml b/dashboards/grafana/network/dashboard.yaml new file mode 100644 index 0000000..a42fe39 --- /dev/null +++ b/dashboards/grafana/network/dashboard.yaml @@ -0,0 +1,4 @@ +--- +title: "Network Service Statistics" +uid: "CloudMonNetwork" +description: "Data for the Network service" diff --git a/dashboards/grafana/network/domains_errors.yaml b/dashboards/grafana/network/domains_errors.yaml new file mode 100644 index 0000000..a9437ae --- /dev/null +++ b/dashboards/grafana/network/domains_errors.yaml @@ -0,0 +1,23 @@ +--- +order: 3 +description: "Curl like request errors (4*, 5*, failed) for the hosts in scenario30_domains.yaml\n" +gridPos: + w: 6 + h: 6 + x: 18 + y: 3 +fieldConfig: + defaults: + custom: + drawStyle: "points" + pointSize: 6 +options: + legend: {displayMode: "list", placement: "bottom"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "aliasByNode(stats.counters.apimon.metric.$environment.$zone.curl.*.{4*,5*}.attempted.count, 7, 8)" + - refId: "B" + target: "aliasByNode(stats.counters.apimon.metric.$environment.$zone.curl.*.failed.count, 7, 8)" +title: "Domains curl Errors" +type: "timeseries" diff --git a/dashboards/grafana/network/domains_latency.yaml b/dashboards/grafana/network/domains_latency.yaml new file mode 100644 index 0000000..a6dbb3a --- /dev/null +++ b/dashboards/grafana/network/domains_latency.yaml @@ -0,0 +1,21 @@ +--- +order: 3 +description: "Curl like request latencies to the hosts in scenario30_domains.yaml\n" +gridPos: + w: 18 + h: 6 + y: 3 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["lastNotNull"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "aliasByNode(stats.timers.apimon.metric.$environment.$zone.curl.*.{2*,3*}.mean, 5, 7)" +title: "Domains curl Latency" +type: "timeseries" diff --git a/dashboards/grafana/network/failures.yaml b/dashboards/grafana/network/failures.yaml new file mode 100644 index 0000000..d06aba7 --- /dev/null +++ b/dashboards/grafana/network/failures.yaml @@ -0,0 +1,42 @@ +--- +order: 10 +datasource: apimon_db +gridPos: + w: 24 + h: 10 + y: 10 +options: + showHeader: true +fieldConfig: + overrides: + - matcher: + id: "byName" + options: "job_id" + properties: + - id: "links" + value: + - targetBlank: true + url: "${__value.raw}" +targets: + - refId: "A" + datasource: apimon_db + format: "table" + metricColumn: "long_name" + rawSql: | + SELECT + result_task."timestamp" AS "time", + result_task.action AS "Action", + result_task.name AS "Name", + result_task.job_id AS "job_id", + result_task.result, + result_task.anonymized_response + FROM result_summary + INNER JOIN result_task on result_summary.job_id = result_task.job_id AND result_task.environment = result_summary.environment AND result_task.zone = result_summary.zone AND $__timeFilter(result_summary."timestamp") WHERE + $__timeFilter(result_task."timestamp") AND + result_task.environment = '$environment' AND + result_task.zone in ('$zone') AND + result_task.result = 3 AND + result_summary.result = 3 + ORDER BY 1 DESC +title: "Failures in Tasks" +type: "table" diff --git a/dashboards/grafana/network/internal_errors.yaml b/dashboards/grafana/network/internal_errors.yaml new file mode 100644 index 0000000..3bfc4a3 --- /dev/null +++ b/dashboards/grafana/network/internal_errors.yaml @@ -0,0 +1,21 @@ +--- +order: 5 +description: "Ping errors for hosts inside VPC/VPC peering using internal IP addresses\n" +gridPos: + w: 6 + h: 8 + x: 18 + y: 5 +fieldConfig: + defaults: + custom: + drawStyle: "points" + pointSize: 6 +options: + legend: {displayMode: "list", placement: "bottom"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "groupByNodes(stats.counters.apimon.metric.$environment.$zone.ping.{peering,vpc}.*.*.failed, 'sum', 7)" +title: "Internal ping errors" +type: "timeseries" diff --git a/dashboards/grafana/network/internal_latency.yaml b/dashboards/grafana/network/internal_latency.yaml new file mode 100644 index 0000000..f463f17 --- /dev/null +++ b/dashboards/grafana/network/internal_latency.yaml @@ -0,0 +1,21 @@ +--- +order: 5 +description: "Ping latency for hosts inside VPC or through VPC Peering using internal IP addresses\n" +gridPos: + w: 18 + h: 8 + y: 5 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["lastNotNull"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "groupByNodes(stats.timers.apimon.metric.$environment.$zone.ping.{vpc,peering}.*.*.mean, 'avg', 9)" +title: "Internal VPC/Peering Latency" +type: "timeseries" diff --git a/dashboards/grafana/network/longest_api.yaml b/dashboards/grafana/network/longest_api.yaml new file mode 100644 index 0000000..0b8a52a --- /dev/null +++ b/dashboards/grafana/network/longest_api.yaml @@ -0,0 +1,21 @@ +--- +order: 8 +description: "API calls which has occurences longer then 10s." +gridPos: + h: 8 + w: 24 + y: 8 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {"calcs": ["min", "mean", "max"], "displayMode": "table", "placement": "right"} + tooltip: {"mode": "single", "sort": "none"} +targets: + - refId: "A" + target: "maximumAbove(groupByNodes(removeEmptySeries(stats.timers.openstack.api.$environment.$zone.network.*.*.*.upper), 'sum', 8, 7, 9), 10000)" +title: "Highest API calls duration" +type: "timeseries" diff --git a/dashboards/grafana/network/ns_failures.yaml b/dashboards/grafana/network/ns_failures.yaml new file mode 100644 index 0000000..c1f8589 --- /dev/null +++ b/dashboards/grafana/network/ns_failures.yaml @@ -0,0 +1,21 @@ +--- +order: 4 +description: "NS Lookup failures from specific NS servers\n" +gridPos: + w: 6 + h: 6 + x: 18 + y: 4 +fieldConfig: + defaults: + custom: + drawStyle: "points" + pointSize: 6 +options: + legend: {displayMode: "list", placement: "bottom"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "aliasByNode(stats.counters.apimon.metric.$environment.$zone.dns.*.*.failed.count, 7, 8)" +title: "NS Lookup Failures" +type: "timeseries" diff --git a/dashboards/grafana/network/ns_lookup.yaml b/dashboards/grafana/network/ns_lookup.yaml new file mode 100644 index 0000000..5085ce0 --- /dev/null +++ b/dashboards/grafana/network/ns_lookup.yaml @@ -0,0 +1,21 @@ +--- +order: 4 +description: "NS Lookup from specific NS servers\n" +gridPos: + w: 18 + h: 6 + y: 4 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["mean", "last", "max"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "groupByNodes(stats.timers.apimon.metric.$environment.$zone.dns.*.*.mean, 'avg', 7, 8)" +title: "NS Lookup" +type: "timeseries" diff --git a/dashboards/grafana/network/outside_errors.yaml b/dashboards/grafana/network/outside_errors.yaml new file mode 100644 index 0000000..c8e3740 --- /dev/null +++ b/dashboards/grafana/network/outside_errors.yaml @@ -0,0 +1,21 @@ +--- +order: 6 +description: "Outside ping errors. Single errors are not an problem indicator (pinging hosts in different countries).\n" +gridPos: + w: 6 + h: 8 + x: 18 + y: 6 +fieldConfig: + defaults: + custom: + drawStyle: "points" + pointSize: 6 +options: + legend: {displayMode: "list", placement: "bottom"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "groupByNodes(stats.counters.apimon.metric.$environment.$zone.ping.{natgw,snat}.*.failed, 'sum', 7)" +title: "Outside ping errors" +type: "timeseries" diff --git a/dashboards/grafana/network/outside_latency.yaml b/dashboards/grafana/network/outside_latency.yaml new file mode 100644 index 0000000..caf6cc3 --- /dev/null +++ b/dashboards/grafana/network/outside_latency.yaml @@ -0,0 +1,21 @@ +--- +order: 6 +description: "Ping latency for outside world through NATGW and Shared SNAT\n" +gridPos: + w: 18 + h: 8 + y: 6 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["lastNotNull"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "groupByNodes(stats.timers.apimon.metric.$environment.$zone.ping.{natgw,snat}.*.mean, 'avg', 7)" +title: "Outside NATGW/SNAT ping Latency" +type: "timeseries" diff --git a/dashboards/grafana/network/results.yaml b/dashboards/grafana/network/results.yaml new file mode 100644 index 0000000..3513016 --- /dev/null +++ b/dashboards/grafana/network/results.yaml @@ -0,0 +1,40 @@ +--- +order: 100 +datasource: apimon_db +gridPos: + w: 24 + h: 10 + y: 11 +options: + showHeader: true +fieldConfig: + overrides: + - matcher: + id: "byName" + options: "log_url" + properties: + - id: "links" + value: + - targetBlank: true + url: "${__value.raw}" +targets: + - refId: "A" + datasource: apimon_db + format: "table" + metricColumn: "long_name" + rawSql: | + SELECT + result_summary."timestamp" AS "time", + result_summary.name AS "Name", + result_summary.job_id AS "job_id", + result_summary.result, + jobs.log_url + FROM result_summary + JOIN jobs on result_summary.job_id = jobs.job_id + WHERE + $__timeFilter(result_summary."timestamp") AND + result_summary.environment = '$environment' AND + result_summary.zone in ($zone) + ORDER BY 1 DESC +title: "Scenario results" +type: "table" diff --git a/dashboards/grafana/storage/apis.yaml b/dashboards/grafana/storage/apis.yaml new file mode 100644 index 0000000..a9bc163 --- /dev/null +++ b/dashboards/grafana/storage/apis.yaml @@ -0,0 +1,20 @@ +--- +order: 2 +gridPos: + w: 24 + h: 8 + y: 2 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "sortByName(groupByNodes(removeEmptySeries(stats.timers.openstack.api.$environment.$zone.{object,object-store}.*.*.*.mean, 0.01), 'sum', 8, 7, 9), true)" +title: "API calls duration" +type: "timeseries" diff --git a/dashboards/grafana/storage/bad_calls.yaml b/dashboards/grafana/storage/bad_calls.yaml new file mode 100644 index 0000000..8356519 --- /dev/null +++ b/dashboards/grafana/storage/bad_calls.yaml @@ -0,0 +1,23 @@ +--- +order: 4 +description: "API calls received error HTTP response code." +gridPos: + w: 24 + h: 8 + y: 4 +bars: true +fieldConfig: + defaults: + custom: + drawStyle: "bars" + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {calcs: ["count"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "removeEmptySeries(aliasByMetric(consolidateBy(groupByNode(exclude(stats.timers.openstack.api.$environment.$zone.{object,object-store}.*.*.{4*,5*}.count, '404'), 9, 'sum'), 'sum')), 0.001)" +title: "BAD calls" +type: "timeseries" diff --git a/dashboards/grafana/storage/dashboard.yaml b/dashboards/grafana/storage/dashboard.yaml new file mode 100644 index 0000000..b303781 --- /dev/null +++ b/dashboards/grafana/storage/dashboard.yaml @@ -0,0 +1,4 @@ +--- +title: "Storage Service Statistics" +uid: "CloudMonStorage" +description: "Data for the Storage service" diff --git a/dashboards/grafana/storage/failures.yaml b/dashboards/grafana/storage/failures.yaml new file mode 100644 index 0000000..ce8670a --- /dev/null +++ b/dashboards/grafana/storage/failures.yaml @@ -0,0 +1,42 @@ +--- +order: 5 +datasource: apimon_db +gridPos: + w: 24 + h: 10 + y: 5 +options: + showHeader: true +fieldConfig: + overrides: + - matcher: + id: "byName" + options: "job_id" + properties: + - id: "links" + value: + - targetBlank: true + url: "${__value.raw}" +targets: + - refId: "A" + datasource: apimon_db + format: "table" + metricColumn: "long_name" + rawSql: | + SELECT + result_task."timestamp" AS "time", + result_task.action AS "Action", + result_task.name AS "Name", + result_task.job_id AS "job_id", + result_task.result, + result_task.anonymized_response + FROM result_summary + INNER JOIN result_task on result_summary.job_id = result_task.job_id AND result_task.environment = result_summary.environment AND result_task.zone = result_summary.zone AND $__timeFilter(result_summary."timestamp") WHERE + $__timeFilter(result_task."timestamp") AND + result_task.environment = '$environment' AND + result_task.zone in ('$zone') AND + result_task.result = 3 AND + result_summary.result = 3 + ORDER BY 1 DESC +title: "Failures in Tasks" +type: "table" diff --git a/dashboards/grafana/storage/longest_api.yaml b/dashboards/grafana/storage/longest_api.yaml new file mode 100644 index 0000000..84b36b4 --- /dev/null +++ b/dashboards/grafana/storage/longest_api.yaml @@ -0,0 +1,21 @@ +--- +order: 3 +description: "API calls which has occurences longer then 10s." +gridPos: + h: 8 + w: 24 + y: 3 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {"calcs": ["min", "mean", "max"], "displayMode": "table", "placement": "right"} + tooltip: {"mode": "single", "sort": "none"} +targets: + - refId: "A" + target: "maximumAbove(groupByNodes(removeEmptySeries(stats.timers.openstack.api.$environment.$zone.{object,object-store}.*.*.*.upper), 'sum', 8, 7, 9), 10000)" +title: "Highest API calls duration" +type: "timeseries" diff --git a/dashboards/grafana/storage/results.yaml b/dashboards/grafana/storage/results.yaml new file mode 100644 index 0000000..01817cc --- /dev/null +++ b/dashboards/grafana/storage/results.yaml @@ -0,0 +1,40 @@ +--- +order: 100 +datasource: apimon_db +gridPos: + w: 24 + h: 10 + y: 6 +options: + showHeader: true +fieldConfig: + overrides: + - matcher: + id: "byName" + options: "log_url" + properties: + - id: "links" + value: + - targetBlank: true + url: "${__value.raw}" +targets: + - refId: "A" + datasource: apimon_db + format: "table" + metricColumn: "long_name" + rawSql: | + SELECT + result_summary."timestamp" AS "time", + result_summary.name AS "Name", + result_summary.job_id AS "job_id", + result_summary.result, + jobs.log_url + FROM result_summary + JOIN jobs on result_summary.job_id = jobs.job_id + WHERE + $__timeFilter(result_summary."timestamp") AND + result_summary.environment = '$environment' AND + result_summary.zone in ($zone) + ORDER BY 1 DESC +title: "Scenario results" +type: "table" From bf45ce5cd8e49feb684fee27857842a6169fa0f2 Mon Sep 17 00:00:00 2001 From: Olha Kashyrina Date: Tue, 25 Oct 2022 11:13:16 +0200 Subject: [PATCH 2/3] add apimon test results dashboard --- .../grafana/apimon_tests/api_errors.yaml | 21 +++++ .../grafana/apimon_tests/dashboard.yaml | 4 + dashboards/grafana/apimon_tests/logs.yaml | 76 +++++++++++++++++++ .../grafana/apimon_tests/no_response.yaml | 22 ++++++ dashboards/grafana/apimon_tests/results.yaml | 52 +++++++++++++ .../grafana/apimon_tests/test_duration.yaml | 53 +++++++++++++ 6 files changed, 228 insertions(+) create mode 100644 dashboards/grafana/apimon_tests/api_errors.yaml create mode 100644 dashboards/grafana/apimon_tests/dashboard.yaml create mode 100644 dashboards/grafana/apimon_tests/logs.yaml create mode 100644 dashboards/grafana/apimon_tests/no_response.yaml create mode 100644 dashboards/grafana/apimon_tests/results.yaml create mode 100644 dashboards/grafana/apimon_tests/test_duration.yaml diff --git a/dashboards/grafana/apimon_tests/api_errors.yaml b/dashboards/grafana/apimon_tests/api_errors.yaml new file mode 100644 index 0000000..d9e58a8 --- /dev/null +++ b/dashboards/grafana/apimon_tests/api_errors.yaml @@ -0,0 +1,21 @@ +--- +order: 2 +gridPos: + w: 12 + h: 8 + x: 12 + y: 2 +fieldConfig: + defaults: + custom: + drawStyle: "points" + pointSize: 6 +options: + legend: {calcs: [], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} +targets: + - refId: "A" + target: "maximumAbove(aliasByMetric(groupByNode(consolidateBy(exclude(stats.timers.openstack.api.$environment.$zone.*.*.*.{4*,5*}.count, '404|dns.GET.zone.400|dns.GET.zone_recordset.400'), 'sum'), 9, 'sum')), 0)" +title: "Count of API Errors" +description: "Bad responses (4*, 5*, excluding 404)" +type: "timeseries" diff --git a/dashboards/grafana/apimon_tests/dashboard.yaml b/dashboards/grafana/apimon_tests/dashboard.yaml new file mode 100644 index 0000000..8d5fbf0 --- /dev/null +++ b/dashboards/grafana/apimon_tests/dashboard.yaml @@ -0,0 +1,4 @@ +--- +title: "APImon Test Results" +uid: "ApimonTestResults" +description: "APImon Test Results" diff --git a/dashboards/grafana/apimon_tests/logs.yaml b/dashboards/grafana/apimon_tests/logs.yaml new file mode 100644 index 0000000..0db2b67 --- /dev/null +++ b/dashboards/grafana/apimon_tests/logs.yaml @@ -0,0 +1,76 @@ +--- +order: 5 +datasource: apimon_db +gridPos: + w: 24 + h: 12 + y: 5 +fieldConfig: + defaults: + custom: + displayMode: auto + filterable: false + thresholds: + mode: absolute + steps: + - color: green + value: null + - color: red + value: 1 + overrides: + - matcher: + id: byName + options: job_id + properties: + - id: links + value: + - targetBlank: true + url: https://swift.eu-de.otc.t-systems.com/v1/AUTH_8deb45bad78e4dfc95223d819d0c3909/job_logs/${__data.fields.job_id}/job-output.txt + - matcher: + id: byName + options: result + properties: + - id: thresholds + value: + mode: absolute + steps: + - color: green + value: null + - color: red + value: 1 + - id: mappings + value: + - from: '' + id: 1 + text: Success + to: '' + type: 1 + value: '0' + - from: '' + id: 2 + text: Failed + to: '' + type: 1 + value: '3' + - id: custom.displayMode + value: color-background + - matcher: + id: byName + options: duration + properties: + - id: unit + value: ms +options: + showHeader: true +targets: + - format: table + group: [] + metricColumn: none + rawQuery: true + rawSql: "SELECT\n \"timestamp\" AS \"time\",\n \"name\",\n \"job_id\",\n\ + \ \"result\",\n \"duration\"\nFROM result_summary\nWHERE\n $__timeFilter(\"\ + timestamp\") AND\n environment = '$environment' AND\n zone = $zone AND\n\ + \ result = 3\nORDER BY 1 DESC" + refId: A +title: "Test Logs" +type: "table" diff --git a/dashboards/grafana/apimon_tests/no_response.yaml b/dashboards/grafana/apimon_tests/no_response.yaml new file mode 100644 index 0000000..c021889 --- /dev/null +++ b/dashboards/grafana/apimon_tests/no_response.yaml @@ -0,0 +1,22 @@ +--- +order: 2 +gridPos: + w: 12 + h: 8 + y: 2 +fieldConfig: + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" +options: + legend: {showLegend: false} + tooltip: {mode: "single", sort: "none"} + alertThreshold: true +targets: + - refId: "A" + target: "alias(consolidateBy(sumSeries(exclude(stats.counters.openstack.api.$environment.$zone.*.*.*.failed.count, 'modelarts')), 'sum'), 'count')" +title: "No response count" +description: "Count of API requests with no response received during timeout 10s" +type: "timeseries" diff --git a/dashboards/grafana/apimon_tests/results.yaml b/dashboards/grafana/apimon_tests/results.yaml new file mode 100644 index 0000000..7f6ce6e --- /dev/null +++ b/dashboards/grafana/apimon_tests/results.yaml @@ -0,0 +1,52 @@ +--- +order: 3 +datasource: apimon_db +gridPos: + w: 24 + h: 8 + y: 3 +options: + legend: {displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} + alertThreshold: true +fieldConfig: + defaults: + custom: + drawStyle: "points" + pointSize: 4 +targets: + - format: time_series + metricColumn: name + queryType: randomWalk + rawQuery: false + rawSql: "SELECT\n \"timestamp\" AS \"time\",\n name AS metric,\n result\n\ + FROM result_summary\nWHERE\n $__timeFilter(\"timestamp\") AND\n environment\ + \ = '$environment' AND\n zone = '$zone'\nORDER BY 1,2" + refId: A + select: + - - params: + - result + type: column + table: result_summary + timeColumn: '"timestamp"' + timeColumnType: timestamp + where: + - name: $__timeFilter + params: [] + type: macro + - datatype: varchar + name: '' + params: + - environment + - '=' + - '''$environment''' + type: expression + - datatype: varchar + name: '' + params: + - zone + - '=' + - '$zone' + type: expression +title: "Test results" +type: "timeseries" diff --git a/dashboards/grafana/apimon_tests/test_duration.yaml b/dashboards/grafana/apimon_tests/test_duration.yaml new file mode 100644 index 0000000..b822a85 --- /dev/null +++ b/dashboards/grafana/apimon_tests/test_duration.yaml @@ -0,0 +1,53 @@ +--- +order: 4 +datasource: apimon_db +gridPos: + w: 24 + h: 8 + y: 4 +options: + legend: {calcs: ["min", "max"], displayMode: "table", placement: "right"} + tooltip: {mode: "single", sort: "none"} + alertThreshold: true +fieldConfig: + defaults: + custom: + drawStyle: "points" + pointSize: 4 +targets: + - format: time_series + group: [] + metricColumn: name + queryType: randomWalk + rawQuery: false + rawSql: "SELECT\n \"timestamp\" AS \"time\",\n name AS metric,\n duration\n\ + FROM result_summary\nWHERE\n $__timeFilter(\"timestamp\") AND\n environment\ + \ = '$environment' AND\n zone = '$zone'\nORDER BY 1,2" + refId: A + select: + - - params: + - duration + type: column + table: result_summary + timeColumn: '"timestamp"' + timeColumnType: timestamp + where: + - name: $__timeFilter + params: [] + type: macro + - datatype: varchar + name: '' + params: + - environment + - '=' + - '''$environment''' + type: expression + - datatype: varchar + name: '' + params: + - zone + - '=' + - '$zone' + type: expression +title: Test duration +type: "timeseries" From 3c876624142d71825eaa12bc3d0418b4ff5f9558 Mon Sep 17 00:00:00 2001 From: Olha Kashyrina Date: Thu, 27 Oct 2022 09:36:44 +0200 Subject: [PATCH 3/3] update grafana dashboards - remove Failures in Tasks and Scenario results panels - define units where necessary --- .../grafana/apimon_tests/test_duration.yaml | 2 + dashboards/grafana/block_storage/apis.yaml | 12 +++--- .../grafana/block_storage/bad_calls.yaml | 12 +++--- .../grafana/block_storage/failures.yaml | 42 ------------------- .../grafana/block_storage/longest_api.yaml | 12 +++--- dashboards/grafana/block_storage/results.yaml | 40 ------------------ .../block_storage/volume_backup_creation.yaml | 2 + .../block_storage/volume_backup_restore.yaml | 2 + .../block_storage/volume_creation.yaml | 2 + .../volume_snapshot_creation.yaml | 2 + dashboards/grafana/compute/apis.yaml | 2 + dashboards/grafana/compute/failures.yaml | 42 ------------------- .../grafana/compute/instance_boot_coreos.yaml | 2 + .../grafana/compute/instance_boot_fedora.yaml | 2 + dashboards/grafana/compute/longest_api.yaml | 2 + .../grafana/compute/metadata_latencies.yaml | 2 + dashboards/grafana/compute/results.yaml | 40 ------------------ .../grafana/endpoint/response_time.yaml | 2 + .../endpoint/{apis.yaml => status.yaml} | 0 dashboards/grafana/identity/apis.yaml | 2 + dashboards/grafana/identity/failures.yaml | 42 ------------------- dashboards/grafana/identity/longest_api.yaml | 2 + dashboards/grafana/identity/results.yaml | 40 ------------------ dashboards/grafana/identity/tokens.yaml | 2 + dashboards/grafana/image/apis.yaml | 2 + dashboards/grafana/image/failures.yaml | 42 ------------------- dashboards/grafana/image/longest_api.yaml | 2 + dashboards/grafana/image/results.yaml | 40 ------------------ dashboards/grafana/network/apis.yaml | 2 + .../grafana/network/domains_errors.yaml | 8 ++-- .../grafana/network/domains_latency.yaml | 12 +++--- dashboards/grafana/network/failures.yaml | 42 ------------------- .../grafana/network/internal_errors.yaml | 8 ++-- .../grafana/network/internal_latency.yaml | 12 +++--- dashboards/grafana/network/longest_api.yaml | 2 + dashboards/grafana/network/ns_failures.yaml | 8 ++-- dashboards/grafana/network/ns_lookup.yaml | 12 +++--- .../grafana/network/outside_errors.yaml | 8 ++-- .../grafana/network/outside_latency.yaml | 12 +++--- dashboards/grafana/network/results.yaml | 40 ------------------ dashboards/grafana/storage/apis.yaml | 2 + dashboards/grafana/storage/failures.yaml | 42 ------------------- dashboards/grafana/storage/longest_api.yaml | 2 + dashboards/grafana/storage/results.yaml | 40 ------------------ 44 files changed, 104 insertions(+), 544 deletions(-) delete mode 100644 dashboards/grafana/block_storage/failures.yaml delete mode 100644 dashboards/grafana/block_storage/results.yaml delete mode 100644 dashboards/grafana/compute/failures.yaml delete mode 100644 dashboards/grafana/compute/results.yaml rename dashboards/grafana/endpoint/{apis.yaml => status.yaml} (100%) delete mode 100644 dashboards/grafana/identity/failures.yaml delete mode 100644 dashboards/grafana/identity/results.yaml delete mode 100644 dashboards/grafana/image/failures.yaml delete mode 100644 dashboards/grafana/image/results.yaml delete mode 100644 dashboards/grafana/network/failures.yaml delete mode 100644 dashboards/grafana/network/results.yaml delete mode 100644 dashboards/grafana/storage/failures.yaml delete mode 100644 dashboards/grafana/storage/results.yaml diff --git a/dashboards/grafana/apimon_tests/test_duration.yaml b/dashboards/grafana/apimon_tests/test_duration.yaml index b822a85..6a6d23a 100644 --- a/dashboards/grafana/apimon_tests/test_duration.yaml +++ b/dashboards/grafana/apimon_tests/test_duration.yaml @@ -14,6 +14,8 @@ fieldConfig: custom: drawStyle: "points" pointSize: 4 + unit: "ms" + decimals: 2 targets: - format: time_series group: [] diff --git a/dashboards/grafana/block_storage/apis.yaml b/dashboards/grafana/block_storage/apis.yaml index f66ae62..18268df 100644 --- a/dashboards/grafana/block_storage/apis.yaml +++ b/dashboards/grafana/block_storage/apis.yaml @@ -5,11 +5,13 @@ gridPos: h: 8 y: 6 fieldConfig: - defaults: - custom: - fillOpacity: 10 - spanNulls: 3600000 - showPoints: "never" + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/block_storage/bad_calls.yaml b/dashboards/grafana/block_storage/bad_calls.yaml index f98947d..b8e02bb 100644 --- a/dashboards/grafana/block_storage/bad_calls.yaml +++ b/dashboards/grafana/block_storage/bad_calls.yaml @@ -7,12 +7,12 @@ gridPos: y: 8 bars: true fieldConfig: - defaults: - custom: - drawStyle: "bars" - fillOpacity: 10 - spanNulls: 3600000 - showPoints: "never" + defaults: + custom: + drawStyle: "bars" + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" options: legend: {calcs: ["count"], displayMode: "table", placement: "right"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/block_storage/failures.yaml b/dashboards/grafana/block_storage/failures.yaml deleted file mode 100644 index 970528b..0000000 --- a/dashboards/grafana/block_storage/failures.yaml +++ /dev/null @@ -1,42 +0,0 @@ ---- -order: 9 -datasource: apimon_db -gridPos: - w: 24 - h: 10 - y: 9 -options: - showHeader: true -fieldConfig: - overrides: - - matcher: - id: "byName" - options: "job_id" - properties: - - id: "links" - value: - - targetBlank: true - url: "${__value.raw}" -targets: - - refId: "A" - datasource: apimon_db - format: "table" - metricColumn: "long_name" - rawSql: | - SELECT - result_task."timestamp" AS "time", - result_task.action AS "Action", - result_task.name AS "Name", - result_task.job_id AS "job_id", - result_task.result, - result_task.anonymized_response - FROM result_summary - INNER JOIN result_task on result_summary.job_id = result_task.job_id AND result_task.environment = result_summary.environment AND result_task.zone = result_summary.zone AND $__timeFilter(result_summary."timestamp") WHERE - $__timeFilter(result_task."timestamp") AND - result_task.environment = '$environment' AND - result_task.zone in ('$zone') AND - result_task.result = 3 AND - result_summary.result = 3 - ORDER BY 1 DESC -title: "Failures in Tasks" -type: "table" diff --git a/dashboards/grafana/block_storage/longest_api.yaml b/dashboards/grafana/block_storage/longest_api.yaml index 33ed80d..f1851dc 100644 --- a/dashboards/grafana/block_storage/longest_api.yaml +++ b/dashboards/grafana/block_storage/longest_api.yaml @@ -6,11 +6,13 @@ gridPos: w: 24 y: 7 fieldConfig: - defaults: - custom: - fillOpacity: 10 - spanNulls: 3600000 - showPoints: "never" + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {"calcs": ["min", "mean", "max"], "displayMode": "table", "placement": "right"} tooltip: {"mode": "single", "sort": "none"} diff --git a/dashboards/grafana/block_storage/results.yaml b/dashboards/grafana/block_storage/results.yaml deleted file mode 100644 index 6a86d99..0000000 --- a/dashboards/grafana/block_storage/results.yaml +++ /dev/null @@ -1,40 +0,0 @@ ---- -order: 100 -datasource: apimon_db -gridPos: - w: 24 - h: 10 - y: 10 -options: - showHeader: true -fieldConfig: - overrides: - - matcher: - id: "byName" - options: "log_url" - properties: - - id: "links" - value: - - targetBlank: true - url: "${__value.raw}" -targets: - - refId: "A" - datasource: apimon_db - format: "table" - metricColumn: "long_name" - rawSql: | - SELECT - result_summary."timestamp" AS "time", - result_summary.name AS "Name", - result_summary.job_id AS "job_id", - result_summary.result, - jobs.log_url - FROM result_summary - JOIN jobs on result_summary.job_id = jobs.job_id - WHERE - $__timeFilter(result_summary."timestamp") AND - result_summary.environment = '$environment' AND - result_summary.zone in ($zone) - ORDER BY 1 DESC -title: "Scenario results" -type: "table" diff --git a/dashboards/grafana/block_storage/volume_backup_creation.yaml b/dashboards/grafana/block_storage/volume_backup_creation.yaml index 7b102f3..2622349 100644 --- a/dashboards/grafana/block_storage/volume_backup_creation.yaml +++ b/dashboards/grafana/block_storage/volume_backup_creation.yaml @@ -12,6 +12,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/block_storage/volume_backup_restore.yaml b/dashboards/grafana/block_storage/volume_backup_restore.yaml index fb39f8d..ad8c3b5 100644 --- a/dashboards/grafana/block_storage/volume_backup_restore.yaml +++ b/dashboards/grafana/block_storage/volume_backup_restore.yaml @@ -12,6 +12,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/block_storage/volume_creation.yaml b/dashboards/grafana/block_storage/volume_creation.yaml index d014ba8..26d816b 100644 --- a/dashboards/grafana/block_storage/volume_creation.yaml +++ b/dashboards/grafana/block_storage/volume_creation.yaml @@ -12,6 +12,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/block_storage/volume_snapshot_creation.yaml b/dashboards/grafana/block_storage/volume_snapshot_creation.yaml index 03e8c9f..720b572 100644 --- a/dashboards/grafana/block_storage/volume_snapshot_creation.yaml +++ b/dashboards/grafana/block_storage/volume_snapshot_creation.yaml @@ -12,6 +12,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/compute/apis.yaml b/dashboards/grafana/compute/apis.yaml index 3b71756..7fa0a1d 100644 --- a/dashboards/grafana/compute/apis.yaml +++ b/dashboards/grafana/compute/apis.yaml @@ -10,6 +10,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/compute/failures.yaml b/dashboards/grafana/compute/failures.yaml deleted file mode 100644 index 99a74b1..0000000 --- a/dashboards/grafana/compute/failures.yaml +++ /dev/null @@ -1,42 +0,0 @@ ---- -order: 8 -datasource: apimon_db -gridPos: - w: 24 - h: 10 - y: 8 -options: - showHeader: true -fieldConfig: - overrides: - - matcher: - id: "byName" - options: "job_id" - properties: - - id: "links" - value: - - targetBlank: true - url: "${__value.raw}" -targets: - - refId: "A" - datasource: apimon_db - format: "table" - metricColumn: "long_name" - rawSql: | - SELECT - result_task."timestamp" AS "time", - result_task.action AS "Action", - result_task.name AS "Name", - result_task.job_id AS "job_id", - result_task.result, - result_task.anonymized_response - FROM result_summary - INNER JOIN result_task on result_summary.job_id = result_task.job_id AND result_task.environment = result_summary.environment AND result_task.zone = result_summary.zone AND $__timeFilter(result_summary."timestamp") WHERE - $__timeFilter(result_task."timestamp") AND - result_task.environment = '$environment' AND - result_task.zone in ('$zone') AND - result_task.result = 3 AND - result_summary.result = 3 - ORDER BY 1 DESC -title: "Failures in Tasks" -type: "table" diff --git a/dashboards/grafana/compute/instance_boot_coreos.yaml b/dashboards/grafana/compute/instance_boot_coreos.yaml index 61f6490..953c1e4 100644 --- a/dashboards/grafana/compute/instance_boot_coreos.yaml +++ b/dashboards/grafana/compute/instance_boot_coreos.yaml @@ -10,6 +10,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {displayMode: "list", placement: "bottom"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/compute/instance_boot_fedora.yaml b/dashboards/grafana/compute/instance_boot_fedora.yaml index 04854dd..083e219 100644 --- a/dashboards/grafana/compute/instance_boot_fedora.yaml +++ b/dashboards/grafana/compute/instance_boot_fedora.yaml @@ -10,6 +10,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {displayMode: "list", placement: "bottom"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/compute/longest_api.yaml b/dashboards/grafana/compute/longest_api.yaml index 1b55c69..e38def9 100644 --- a/dashboards/grafana/compute/longest_api.yaml +++ b/dashboards/grafana/compute/longest_api.yaml @@ -11,6 +11,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {"calcs": ["min", "mean", "max"], "displayMode": "table", "placement": "right"} tooltip: {"mode": "single", "sort": "none"} diff --git a/dashboards/grafana/compute/metadata_latencies.yaml b/dashboards/grafana/compute/metadata_latencies.yaml index c62f208..56acf05 100644 --- a/dashboards/grafana/compute/metadata_latencies.yaml +++ b/dashboards/grafana/compute/metadata_latencies.yaml @@ -10,6 +10,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {displayMode: "list", placement: "bottom"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/compute/results.yaml b/dashboards/grafana/compute/results.yaml deleted file mode 100644 index 6ddcfe9..0000000 --- a/dashboards/grafana/compute/results.yaml +++ /dev/null @@ -1,40 +0,0 @@ ---- -order: 100 -datasource: apimon_db -gridPos: - w: 24 - h: 10 - y: 8 -options: - showHeader: true -fieldConfig: - overrides: - - matcher: - id: "byName" - options: "log_url" - properties: - - id: "links" - value: - - targetBlank: true - url: "${__value.raw}" -targets: - - refId: "A" - datasource: apimon_db - format: "table" - metricColumn: "long_name" - rawSql: | - SELECT - result_summary."timestamp" AS "time", - result_summary.name AS "Name", - result_summary.job_id AS "job_id", - result_summary.result, - jobs.log_url - FROM result_summary - JOIN jobs on result_summary.job_id = jobs.job_id - WHERE - $__timeFilter(result_summary."timestamp") AND - result_summary.environment = '$environment' AND - result_summary.zone in ($zone) - ORDER BY 1 DESC -title: "Scenario results" -type: "table" diff --git a/dashboards/grafana/endpoint/response_time.yaml b/dashboards/grafana/endpoint/response_time.yaml index 21cda32..c14a0a8 100644 --- a/dashboards/grafana/endpoint/response_time.yaml +++ b/dashboards/grafana/endpoint/response_time.yaml @@ -10,6 +10,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {displayMode: "list", placement: "bottom"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/endpoint/apis.yaml b/dashboards/grafana/endpoint/status.yaml similarity index 100% rename from dashboards/grafana/endpoint/apis.yaml rename to dashboards/grafana/endpoint/status.yaml diff --git a/dashboards/grafana/identity/apis.yaml b/dashboards/grafana/identity/apis.yaml index 6bd3161..1bdafba 100644 --- a/dashboards/grafana/identity/apis.yaml +++ b/dashboards/grafana/identity/apis.yaml @@ -10,6 +10,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/identity/failures.yaml b/dashboards/grafana/identity/failures.yaml deleted file mode 100644 index 5fb7a82..0000000 --- a/dashboards/grafana/identity/failures.yaml +++ /dev/null @@ -1,42 +0,0 @@ ---- -order: 6 -datasource: apimon_db -gridPos: - w: 24 - h: 10 - y: 6 -options: - showHeader: true -fieldConfig: - overrides: - - matcher: - id: "byName" - options: "job_id" - properties: - - id: "links" - value: - - targetBlank: true - url: "${__value.raw}" -targets: - - refId: "A" - datasource: apimon_db - format: "table" - metricColumn: "long_name" - rawSql: | - SELECT - result_task."timestamp" AS "time", - result_task.action AS "Action", - result_task.name AS "Name", - result_task.job_id AS "job_id", - result_task.result, - result_task.anonymized_response - FROM result_summary - INNER JOIN result_task on result_summary.job_id = result_task.job_id AND result_task.environment = result_summary.environment AND result_task.zone = result_summary.zone AND $__timeFilter(result_summary."timestamp") WHERE - $__timeFilter(result_task."timestamp") AND - result_task.environment = '$environment' AND - result_task.zone in ('$zone') AND - result_task.result = 3 AND - result_summary.result = 3 - ORDER BY 1 DESC -title: "Failures in Tasks" -type: "table" diff --git a/dashboards/grafana/identity/longest_api.yaml b/dashboards/grafana/identity/longest_api.yaml index 6932ecc..9dc9cea 100644 --- a/dashboards/grafana/identity/longest_api.yaml +++ b/dashboards/grafana/identity/longest_api.yaml @@ -11,6 +11,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {"calcs": ["min", "mean", "max"], "displayMode": "table", "placement": "right"} tooltip: {"mode": "single", "sort": "none"} diff --git a/dashboards/grafana/identity/results.yaml b/dashboards/grafana/identity/results.yaml deleted file mode 100644 index b838022..0000000 --- a/dashboards/grafana/identity/results.yaml +++ /dev/null @@ -1,40 +0,0 @@ ---- -order: 100 -datasource: apimon_db -gridPos: - w: 24 - h: 10 - y: 7 -options: - showHeader: true -fieldConfig: - overrides: - - matcher: - id: "byName" - options: "log_url" - properties: - - id: "links" - value: - - targetBlank: true - url: "${__value.raw}" -targets: - - refId: "A" - datasource: apimon_db - format: "table" - metricColumn: "long_name" - rawSql: | - SELECT - result_summary."timestamp" AS "time", - result_summary.name AS "Name", - result_summary.job_id AS "job_id", - result_summary.result, - jobs.log_url - FROM result_summary - JOIN jobs on result_summary.job_id = jobs.job_id - WHERE - $__timeFilter(result_summary."timestamp") AND - result_summary.environment = '$environment' AND - result_summary.zone in ($zone) - ORDER BY 1 DESC -title: "Scenario results" -type: "table" diff --git a/dashboards/grafana/identity/tokens.yaml b/dashboards/grafana/identity/tokens.yaml index a446601..94356df 100644 --- a/dashboards/grafana/identity/tokens.yaml +++ b/dashboards/grafana/identity/tokens.yaml @@ -10,6 +10,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 pointSize: 2 + unit: "ms" + decimals: 2 options: legend: {displayMode: "list", placement: "bottom"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/image/apis.yaml b/dashboards/grafana/image/apis.yaml index a6be05c..c9f2a4b 100644 --- a/dashboards/grafana/image/apis.yaml +++ b/dashboards/grafana/image/apis.yaml @@ -10,6 +10,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/image/failures.yaml b/dashboards/grafana/image/failures.yaml deleted file mode 100644 index ce8670a..0000000 --- a/dashboards/grafana/image/failures.yaml +++ /dev/null @@ -1,42 +0,0 @@ ---- -order: 5 -datasource: apimon_db -gridPos: - w: 24 - h: 10 - y: 5 -options: - showHeader: true -fieldConfig: - overrides: - - matcher: - id: "byName" - options: "job_id" - properties: - - id: "links" - value: - - targetBlank: true - url: "${__value.raw}" -targets: - - refId: "A" - datasource: apimon_db - format: "table" - metricColumn: "long_name" - rawSql: | - SELECT - result_task."timestamp" AS "time", - result_task.action AS "Action", - result_task.name AS "Name", - result_task.job_id AS "job_id", - result_task.result, - result_task.anonymized_response - FROM result_summary - INNER JOIN result_task on result_summary.job_id = result_task.job_id AND result_task.environment = result_summary.environment AND result_task.zone = result_summary.zone AND $__timeFilter(result_summary."timestamp") WHERE - $__timeFilter(result_task."timestamp") AND - result_task.environment = '$environment' AND - result_task.zone in ('$zone') AND - result_task.result = 3 AND - result_summary.result = 3 - ORDER BY 1 DESC -title: "Failures in Tasks" -type: "table" diff --git a/dashboards/grafana/image/longest_api.yaml b/dashboards/grafana/image/longest_api.yaml index 3b9c163..c98706d 100644 --- a/dashboards/grafana/image/longest_api.yaml +++ b/dashboards/grafana/image/longest_api.yaml @@ -11,6 +11,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {"calcs": ["min", "mean", "max"], "displayMode": "table", "placement": "right"} tooltip: {"mode": "single", "sort": "none"} diff --git a/dashboards/grafana/image/results.yaml b/dashboards/grafana/image/results.yaml deleted file mode 100644 index 01817cc..0000000 --- a/dashboards/grafana/image/results.yaml +++ /dev/null @@ -1,40 +0,0 @@ ---- -order: 100 -datasource: apimon_db -gridPos: - w: 24 - h: 10 - y: 6 -options: - showHeader: true -fieldConfig: - overrides: - - matcher: - id: "byName" - options: "log_url" - properties: - - id: "links" - value: - - targetBlank: true - url: "${__value.raw}" -targets: - - refId: "A" - datasource: apimon_db - format: "table" - metricColumn: "long_name" - rawSql: | - SELECT - result_summary."timestamp" AS "time", - result_summary.name AS "Name", - result_summary.job_id AS "job_id", - result_summary.result, - jobs.log_url - FROM result_summary - JOIN jobs on result_summary.job_id = jobs.job_id - WHERE - $__timeFilter(result_summary."timestamp") AND - result_summary.environment = '$environment' AND - result_summary.zone in ($zone) - ORDER BY 1 DESC -title: "Scenario results" -type: "table" diff --git a/dashboards/grafana/network/apis.yaml b/dashboards/grafana/network/apis.yaml index 474e9fe..c58ed9f 100644 --- a/dashboards/grafana/network/apis.yaml +++ b/dashboards/grafana/network/apis.yaml @@ -10,6 +10,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/network/domains_errors.yaml b/dashboards/grafana/network/domains_errors.yaml index a9437ae..2d40984 100644 --- a/dashboards/grafana/network/domains_errors.yaml +++ b/dashboards/grafana/network/domains_errors.yaml @@ -7,10 +7,10 @@ gridPos: x: 18 y: 3 fieldConfig: - defaults: - custom: - drawStyle: "points" - pointSize: 6 + defaults: + custom: + drawStyle: "points" + pointSize: 6 options: legend: {displayMode: "list", placement: "bottom"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/network/domains_latency.yaml b/dashboards/grafana/network/domains_latency.yaml index a6dbb3a..015b85f 100644 --- a/dashboards/grafana/network/domains_latency.yaml +++ b/dashboards/grafana/network/domains_latency.yaml @@ -6,11 +6,13 @@ gridPos: h: 6 y: 3 fieldConfig: - defaults: - custom: - fillOpacity: 10 - spanNulls: 3600000 - showPoints: "never" + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {calcs: ["lastNotNull"], displayMode: "table", placement: "right"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/network/failures.yaml b/dashboards/grafana/network/failures.yaml deleted file mode 100644 index d06aba7..0000000 --- a/dashboards/grafana/network/failures.yaml +++ /dev/null @@ -1,42 +0,0 @@ ---- -order: 10 -datasource: apimon_db -gridPos: - w: 24 - h: 10 - y: 10 -options: - showHeader: true -fieldConfig: - overrides: - - matcher: - id: "byName" - options: "job_id" - properties: - - id: "links" - value: - - targetBlank: true - url: "${__value.raw}" -targets: - - refId: "A" - datasource: apimon_db - format: "table" - metricColumn: "long_name" - rawSql: | - SELECT - result_task."timestamp" AS "time", - result_task.action AS "Action", - result_task.name AS "Name", - result_task.job_id AS "job_id", - result_task.result, - result_task.anonymized_response - FROM result_summary - INNER JOIN result_task on result_summary.job_id = result_task.job_id AND result_task.environment = result_summary.environment AND result_task.zone = result_summary.zone AND $__timeFilter(result_summary."timestamp") WHERE - $__timeFilter(result_task."timestamp") AND - result_task.environment = '$environment' AND - result_task.zone in ('$zone') AND - result_task.result = 3 AND - result_summary.result = 3 - ORDER BY 1 DESC -title: "Failures in Tasks" -type: "table" diff --git a/dashboards/grafana/network/internal_errors.yaml b/dashboards/grafana/network/internal_errors.yaml index 3bfc4a3..0b208dc 100644 --- a/dashboards/grafana/network/internal_errors.yaml +++ b/dashboards/grafana/network/internal_errors.yaml @@ -7,10 +7,10 @@ gridPos: x: 18 y: 5 fieldConfig: - defaults: - custom: - drawStyle: "points" - pointSize: 6 + defaults: + custom: + drawStyle: "points" + pointSize: 6 options: legend: {displayMode: "list", placement: "bottom"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/network/internal_latency.yaml b/dashboards/grafana/network/internal_latency.yaml index f463f17..6747e0b 100644 --- a/dashboards/grafana/network/internal_latency.yaml +++ b/dashboards/grafana/network/internal_latency.yaml @@ -6,11 +6,13 @@ gridPos: h: 8 y: 5 fieldConfig: - defaults: - custom: - fillOpacity: 10 - spanNulls: 3600000 - showPoints: "never" + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {calcs: ["lastNotNull"], displayMode: "table", placement: "right"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/network/longest_api.yaml b/dashboards/grafana/network/longest_api.yaml index 0b8a52a..8423592 100644 --- a/dashboards/grafana/network/longest_api.yaml +++ b/dashboards/grafana/network/longest_api.yaml @@ -11,6 +11,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {"calcs": ["min", "mean", "max"], "displayMode": "table", "placement": "right"} tooltip: {"mode": "single", "sort": "none"} diff --git a/dashboards/grafana/network/ns_failures.yaml b/dashboards/grafana/network/ns_failures.yaml index c1f8589..688124c 100644 --- a/dashboards/grafana/network/ns_failures.yaml +++ b/dashboards/grafana/network/ns_failures.yaml @@ -7,10 +7,10 @@ gridPos: x: 18 y: 4 fieldConfig: - defaults: - custom: - drawStyle: "points" - pointSize: 6 + defaults: + custom: + drawStyle: "points" + pointSize: 6 options: legend: {displayMode: "list", placement: "bottom"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/network/ns_lookup.yaml b/dashboards/grafana/network/ns_lookup.yaml index 5085ce0..466e039 100644 --- a/dashboards/grafana/network/ns_lookup.yaml +++ b/dashboards/grafana/network/ns_lookup.yaml @@ -6,11 +6,13 @@ gridPos: h: 6 y: 4 fieldConfig: - defaults: - custom: - fillOpacity: 10 - spanNulls: 3600000 - showPoints: "never" + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {calcs: ["mean", "last", "max"], displayMode: "table", placement: "right"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/network/outside_errors.yaml b/dashboards/grafana/network/outside_errors.yaml index c8e3740..1632b5d 100644 --- a/dashboards/grafana/network/outside_errors.yaml +++ b/dashboards/grafana/network/outside_errors.yaml @@ -7,10 +7,10 @@ gridPos: x: 18 y: 6 fieldConfig: - defaults: - custom: - drawStyle: "points" - pointSize: 6 + defaults: + custom: + drawStyle: "points" + pointSize: 6 options: legend: {displayMode: "list", placement: "bottom"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/network/outside_latency.yaml b/dashboards/grafana/network/outside_latency.yaml index caf6cc3..30b8473 100644 --- a/dashboards/grafana/network/outside_latency.yaml +++ b/dashboards/grafana/network/outside_latency.yaml @@ -6,11 +6,13 @@ gridPos: h: 8 y: 6 fieldConfig: - defaults: - custom: - fillOpacity: 10 - spanNulls: 3600000 - showPoints: "never" + defaults: + custom: + fillOpacity: 10 + spanNulls: 3600000 + showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {calcs: ["lastNotNull"], displayMode: "table", placement: "right"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/network/results.yaml b/dashboards/grafana/network/results.yaml deleted file mode 100644 index 3513016..0000000 --- a/dashboards/grafana/network/results.yaml +++ /dev/null @@ -1,40 +0,0 @@ ---- -order: 100 -datasource: apimon_db -gridPos: - w: 24 - h: 10 - y: 11 -options: - showHeader: true -fieldConfig: - overrides: - - matcher: - id: "byName" - options: "log_url" - properties: - - id: "links" - value: - - targetBlank: true - url: "${__value.raw}" -targets: - - refId: "A" - datasource: apimon_db - format: "table" - metricColumn: "long_name" - rawSql: | - SELECT - result_summary."timestamp" AS "time", - result_summary.name AS "Name", - result_summary.job_id AS "job_id", - result_summary.result, - jobs.log_url - FROM result_summary - JOIN jobs on result_summary.job_id = jobs.job_id - WHERE - $__timeFilter(result_summary."timestamp") AND - result_summary.environment = '$environment' AND - result_summary.zone in ($zone) - ORDER BY 1 DESC -title: "Scenario results" -type: "table" diff --git a/dashboards/grafana/storage/apis.yaml b/dashboards/grafana/storage/apis.yaml index a9bc163..9dc5390 100644 --- a/dashboards/grafana/storage/apis.yaml +++ b/dashboards/grafana/storage/apis.yaml @@ -10,6 +10,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {calcs: ["min", "mean", "max"], displayMode: "table", placement: "right"} tooltip: {mode: "single", sort: "none"} diff --git a/dashboards/grafana/storage/failures.yaml b/dashboards/grafana/storage/failures.yaml deleted file mode 100644 index ce8670a..0000000 --- a/dashboards/grafana/storage/failures.yaml +++ /dev/null @@ -1,42 +0,0 @@ ---- -order: 5 -datasource: apimon_db -gridPos: - w: 24 - h: 10 - y: 5 -options: - showHeader: true -fieldConfig: - overrides: - - matcher: - id: "byName" - options: "job_id" - properties: - - id: "links" - value: - - targetBlank: true - url: "${__value.raw}" -targets: - - refId: "A" - datasource: apimon_db - format: "table" - metricColumn: "long_name" - rawSql: | - SELECT - result_task."timestamp" AS "time", - result_task.action AS "Action", - result_task.name AS "Name", - result_task.job_id AS "job_id", - result_task.result, - result_task.anonymized_response - FROM result_summary - INNER JOIN result_task on result_summary.job_id = result_task.job_id AND result_task.environment = result_summary.environment AND result_task.zone = result_summary.zone AND $__timeFilter(result_summary."timestamp") WHERE - $__timeFilter(result_task."timestamp") AND - result_task.environment = '$environment' AND - result_task.zone in ('$zone') AND - result_task.result = 3 AND - result_summary.result = 3 - ORDER BY 1 DESC -title: "Failures in Tasks" -type: "table" diff --git a/dashboards/grafana/storage/longest_api.yaml b/dashboards/grafana/storage/longest_api.yaml index 84b36b4..460bfea 100644 --- a/dashboards/grafana/storage/longest_api.yaml +++ b/dashboards/grafana/storage/longest_api.yaml @@ -11,6 +11,8 @@ fieldConfig: fillOpacity: 10 spanNulls: 3600000 showPoints: "never" + unit: "ms" + decimals: 2 options: legend: {"calcs": ["min", "mean", "max"], "displayMode": "table", "placement": "right"} tooltip: {"mode": "single", "sort": "none"} diff --git a/dashboards/grafana/storage/results.yaml b/dashboards/grafana/storage/results.yaml deleted file mode 100644 index 01817cc..0000000 --- a/dashboards/grafana/storage/results.yaml +++ /dev/null @@ -1,40 +0,0 @@ ---- -order: 100 -datasource: apimon_db -gridPos: - w: 24 - h: 10 - y: 6 -options: - showHeader: true -fieldConfig: - overrides: - - matcher: - id: "byName" - options: "log_url" - properties: - - id: "links" - value: - - targetBlank: true - url: "${__value.raw}" -targets: - - refId: "A" - datasource: apimon_db - format: "table" - metricColumn: "long_name" - rawSql: | - SELECT - result_summary."timestamp" AS "time", - result_summary.name AS "Name", - result_summary.job_id AS "job_id", - result_summary.result, - jobs.log_url - FROM result_summary - JOIN jobs on result_summary.job_id = jobs.job_id - WHERE - $__timeFilter(result_summary."timestamp") AND - result_summary.environment = '$environment' AND - result_summary.zone in ($zone) - ORDER BY 1 DESC -title: "Scenario results" -type: "table"