From 332ea72cf5dfbe580832bc0a240f9b4509c94526 Mon Sep 17 00:00:00 2001 From: MOHAMMED-ho Date: Thu, 24 Oct 2024 12:44:44 +0100 Subject: [PATCH] amending Readme.md (#3) adding s3 dashboard module renaming variable.tf CCL-898 json config updating visual config updating width of tiles adding .github adding .github adding .github CCL-898 golden dashboards CCL-898 added mks dashboards CCL-898 latest CCL-898-test latest classic dashboards adding varibales file amending README file adding varibles correcting readme file removing .ided/,DSstore etc removing .ided/,DSstore etc moving terraform files into root folder chaning workflow name chaning workflow name adding cloudfront and ES dashbaords (#5) adding new dashboards adding new dashboards adding cloudfront and ES dashbaords (#6) adding new dashboards adding new dashboards adding new dashboards adding new dashboards adding new dashboards adding new dashboards adding new dashboards adding new dashboards CCL-827added dyntarce metrics and anomolies revert adding variables adding alerts and events.tf --- .github/dependabot.yaml | 24 + .github/workflows/pull-request-sast.yaml | 26 + .../pull-request-semver-label-check.yaml | 39 + .../pull-request-semver-tag-merge.yaml | 46 + .gitignore | 43 + README.md | 2 +- cloudfront.tf | 332 +++++ dynatrace_alerts.tf | 50 + dynatrace_metric_events.tf | 94 ++ elasticsearch.tf | 1203 +++++++++++++++++ files/rds.json | 757 +++++++++++ msk.tf | 958 +++++++++++++ output.tf | 9 + provider.tf | 8 + rds.tf | 773 +++++++++++ s3.tf | 551 ++++++++ variables.tf | 97 ++ 17 files changed, 5011 insertions(+), 1 deletion(-) create mode 100644 .github/dependabot.yaml create mode 100644 .github/workflows/pull-request-sast.yaml create mode 100644 .github/workflows/pull-request-semver-label-check.yaml create mode 100644 .github/workflows/pull-request-semver-tag-merge.yaml create mode 100644 .gitignore create mode 100644 cloudfront.tf create mode 100644 dynatrace_alerts.tf create mode 100644 dynatrace_metric_events.tf create mode 100644 elasticsearch.tf create mode 100644 files/rds.json create mode 100644 msk.tf create mode 100644 output.tf create mode 100644 provider.tf create mode 100644 rds.tf create mode 100644 s3.tf create mode 100644 variables.tf diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml new file mode 100644 index 0000000..a473a6b --- /dev/null +++ b/.github/dependabot.yaml @@ -0,0 +1,24 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + commit-message: + prefix: "(GHA)" + reviewers: + - "UKHomeOffice/core-cloud-devops" + labels: + - "dependencies" + - "patch" + - package-ecosystem: "terraform" + directory: "/" + schedule: + interval: "daily" + commit-message: + prefix: "(TF)" + reviewers: + - "UKHomeOffice/core-cloud-devops" + labels: + - "dependencies" + - "patch" \ No newline at end of file diff --git a/.github/workflows/pull-request-sast.yaml b/.github/workflows/pull-request-sast.yaml new file mode 100644 index 0000000..f9d50af --- /dev/null +++ b/.github/workflows/pull-request-sast.yaml @@ -0,0 +1,26 @@ +name: Validate Terraform with Trivy + +on: + push: + branches: + - main + pull_request: + +permissions: + contents: read + +jobs: + RunTerraformValidation: + name: Scan Terraform Config + runs-on: ubuntu-latest + + steps: + - name: Clone the Repository + uses: actions/checkout@v4 + + # Results have to be a table as the organisation does not have Advanced Security license. + - name: Scan Terraform Config + uses: aquasecurity/trivy-action@0.19.0 + with: + scan-type: 'config' + exit-code: '1' diff --git a/.github/workflows/pull-request-semver-label-check.yaml b/.github/workflows/pull-request-semver-label-check.yaml new file mode 100644 index 0000000..89fecce --- /dev/null +++ b/.github/workflows/pull-request-semver-label-check.yaml @@ -0,0 +1,39 @@ +name: 'Check PR for SemVer Label' +on: + pull_request: + types: + - labeled + - unlabeled + - opened + - reopened + - synchronize + branches: + - main + +permissions: + pull-requests: read + contents: read + +jobs: + semver-check: + name: 'Check PR for SemVer Label' + if: | + contains(github.event.pull_request.labels.*.name, 'skip-release') == false + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Parse the SemVer label + id: label + uses: UKHomeOffice/match-label-action@v1 + with: + labels: minor,major,patch + mode: singular + + - name: Calculate SemVer value + id: calculate + uses: UKHomeOffice/semver-calculate-action@v2 + with: + increment: ${{ steps.label.outputs.matchedLabels }} + github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/pull-request-semver-tag-merge.yaml b/.github/workflows/pull-request-semver-tag-merge.yaml new file mode 100644 index 0000000..146e0ca --- /dev/null +++ b/.github/workflows/pull-request-semver-tag-merge.yaml @@ -0,0 +1,46 @@ +name: 'SemVer Tag on Main Merge' +on: + pull_request: + types: + - closed + branches: + - main + +permissions: + pull-requests: read + contents: write + +concurrency: + group: ${{ github.workflow }} + cancel-in-progress: false + +jobs: + semver-tag: + name: 'Tag Repository with SemVer' + if: | + github.event.pull_request.merged == true && + contains(github.event.pull_request.labels.*.name, 'skip-release') == false + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Parse the SemVer label + id: label + uses: UKHomeOffice/match-label-action@v1 + with: + labels: minor,major,patch + mode: singular + + - name: Calculate SemVer value + id: calculate + uses: UKHomeOffice/semver-calculate-action@v2 + with: + increment: ${{ steps.label.outputs.matchedLabels }} + github_token: ${{ secrets.GITHUB_TOKEN }} + + - name: Tag Repository + uses: UKHomeOffice/semver-tag-action@v4 + with: + tag: ${{ steps.calculate.outputs.version }} + github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..870f845 --- /dev/null +++ b/.gitignore @@ -0,0 +1,43 @@ +# Local .terraform directories +**/.terraform/* + +**/.terraform* +**/.terragrunt* + +# .tfstate files +*.tfstate +*.tfstate.* + +# Crash log files +crash.log +crash.*.log + +# Exclude all .tfvars files, which are likely to contain sensitive data, such as +# password, private keys, and other secrets. These should not be part of version +# control as they are data points which are potentially sensitive and subject +# to change depending on the environment. +*.tfvars +*.tfvars.json + +# Ignore override files as they are usually used to override resources locally and so +# are not checked in +override.tf +override.tf.json +*_override.tf +*_override.tf.json + +# Include override files you do wish to add to version control using negated pattern +# !example_override.tf + +# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan +# example: *tfplan* + +# Ignore CLI configuration files +.terraformrc +terraform.rc + +*.env + +__dont_track* + +.DS_Store \ No newline at end of file diff --git a/README.md b/README.md index 7866664..ebf749a 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -# core-cloud-dynatrace-golden-dashboards-terraform +Note: as we dont have any metrics in Dynatarce as of yet, these templates do not contain the dimensions for now, these will be updated once we have got metrics coming into dynatrace. diff --git a/cloudfront.tf b/cloudfront.tf new file mode 100644 index 0000000..ba7d3fa --- /dev/null +++ b/cloudfront.tf @@ -0,0 +1,332 @@ +resource "dynatrace_json_dashboard" "cosmo_cloudfront_dashboard_template" { + contents = jsonencode( + { + "dashboardMetadata": { + "name": var.cloudfront_dashbaord_name + "shared": var.cloudfront_shared + "owner": var.cloudfront_owner_name + "tags": [ + "" + ], + "preset": var.cloudfront_preset + }, + "tiles": [ + { + "name": "Requests", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 304, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.cloudfront.requestsSumByRegion", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.cloudfront.requestsSumByRegion:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "Data explorer results", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 608, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.cloudfront.totalErrorRateAverageByRegion", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.cloudfront.totalErrorRateAverageByRegion:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "BytesDownloaded Sum", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 912, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.cloudfront.bytesDownloadedSumByRegion", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.cloudfront.bytesDownloadedSumByRegion:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + } + ] +} + ) +} diff --git a/dynatrace_alerts.tf b/dynatrace_alerts.tf new file mode 100644 index 0000000..f59da82 --- /dev/null +++ b/dynatrace_alerts.tf @@ -0,0 +1,50 @@ +resource "dynatrace_alerting" "my_alerting_profile" { + name = var.aleritng_profile_name + filters { + filter { + custom { + description { + operator = "CONTAINS" + value = "CapacityUnits" + case_sensitive = true + enabled = true + } + title { + operator = "CONTAINS" + value = "CapacityUnits" + case_sensitive = true + enabled = true + + } + + } + } + } + rules { + rule { + include_mode = "INCLUDE_ALL" + tags = ["test:test"] + delay_in_minutes = 1 + severity_level = "CUSTOM_ALERT" + } + } +} + +resource "dynatrace_email_notification" "dynatarce_email_alerts" { + active = var.email_notification_enabled + name = var.email_notification_name + profile = dynatrace_alerting.my_alerting_profile.id + subject = var.email_subject + to = var.email_id + notify_closed_problems = var.notify_closed_problem + body = "{ProblemDetailsHTML}" +} + +resource "dynatrace_slack_notification" "dynatarce_slack_alerts" { + active = var.slack_notification_enabled + name = var.slack_notification_name + profile = dynatrace_alerting.my_alerting_profile.id + url = var.slack_url + channel = var.channel_name + message = var.slack_message +} \ No newline at end of file diff --git a/dynatrace_metric_events.tf b/dynatrace_metric_events.tf new file mode 100644 index 0000000..2e65f4f --- /dev/null +++ b/dynatrace_metric_events.tf @@ -0,0 +1,94 @@ +# Creates a Dynatrace Management Zone +resource "dynatrace_management_zone_v2" "Alerting_Test_MZ" { + name = "Alerting_Test_MZ" + rules { + rule { + type = "ME" + enabled = true + entity_selector = "" + attribute_rule { + entity_type = "WEB_APPLICATION" + attribute_conditions { + condition { + case_sensitive = false + key = "WEB_APPLICATION_NAME" + operator = "CONTAINS" + string_value = "test" + } + } + } + } + rule { + type = "ME" + enabled = true + entity_selector = "" + attribute_rule { + entity_type = "WEB_APPLICATION" + attribute_conditions { + condition { + case_sensitive = true + key = "WEB_APPLICATION_NAME" + operator = "CONTAINS" + string_value = "www.test.com" + } + } + } + } + } +} +resource "dynatrace_metric_events" "dynatrace_readcapacityunitssum" { + enabled = var.tenant_vars.enabled + event_entity_dimension_key = var.tenant_vars.event_entity_dimension_key + summary = var.tenant_vars.summary + event_template { + description = var.tenant_vars.description + davis_merge = var.tenant_vars.davis_merge + event_type = var.tenant_vars.event_type + title = var.tenant_vars.title + } + model_properties { + type = var.tenant_vars.model_properties_type + alert_condition = var.tenant_vars.alert_condition + alert_on_no_data = var.tenant_vars.alert_on_no_data + dealerting_samples = var.tenant_vars.dealerting_samples + samples = var.tenant_vars.samples + threshold = var.tenant_vars.threshold + violating_samples = var.tenant_vars.violating_samples + } + query_definition { + type = var.tenant_vars.query_definition_type + aggregation = var.tenant_vars.aggregation + metric_key = var.tenant_vars.metric_key + dimension_filter { + filter { + dimension_key = var.tenant_vars.dimension_key + dimension_value = var.tenant_vars.dimension_value + } + } + entity_filter { + dimension_key = var.tenant_vars.dimension_key + conditions { + condition { + type = var.tenant_vars.entity_filter_condition1_type + operator = var.tenant_vars.entity_filter_condition1_operator + value = var.tenant_vars.entity_filter_condition1_value + } + condition { + type = var.tenant_vars.entity_filter_condition2_type + operator = var.tenant_vars.entity_filter_condition2_operator + value = var.tenant_vars.entity_filter_condition2_value + } + condition { + type = "MANAGEMENT_ZONE" + operator = "EQUALS" + value = "Alerting_Test_MZ" + } + # condition { + # type = "HOST_GROUP_NAME" re-visit when we need host group + # operator = "EQUALS" + # value = "HOST-42FDD00356069724" + # } + } + } + } +} diff --git a/elasticsearch.tf b/elasticsearch.tf new file mode 100644 index 0000000..8968333 --- /dev/null +++ b/elasticsearch.tf @@ -0,0 +1,1203 @@ +resource "dynatrace_json_dashboard" "cosmo_elasticsearch_dashboard_template" { + contents = jsonencode( + { + "dashboardMetadata": { + "name": var.elasticsearch_dashbaord_name + "shared": var.elasticsearch_shared + "owner": var.elasticsearch_owner_name + "tags": [ + "" + ], + "preset": var.elasticsearch_preset + }, + "tiles": [ + { + "name": "ClusterStatus.green", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 0, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Single value", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.es.clusterStatusgreenMinimumByClientId", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.es.clusterStatusgreenMinimumByClientId:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(ext:cloud.aws.es.clusterStatusgreenMinimumByClientId:splitBy():sort(value(auto,descending)):limit(20))" + ] + }, + { + "name": "ClusterStatus.yellow", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 304, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Single value", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.es.clusterStatusyellowMaximumByClientId", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.es.clusterStatusyellowMaximumByClientId:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(ext:cloud.aws.es.clusterStatusyellowMaximumByClientId:splitBy():sort(value(auto,descending)):limit(20))" + ] + }, + { + "name": "ClusterStatus.red", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 608, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Single value", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.es.clusterStatusredMaximumByClientId", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.es.clusterStatusredMaximumByClientId:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(ext:cloud.aws.es.clusterStatusredMaximumByClientId:splitBy():sort(value(auto,descending)):limit(20))" + ] + }, + { + "name": "Shards.active", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 304, + "left": 0, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Single value", + "queries": [ + { + "id": "A", + "metric": "builtin:tech.elasticsearch.local.active_shards", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(builtin:tech.elasticsearch.local.active_shards:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(builtin:tech.elasticsearch.local.active_shards:splitBy():sort(value(auto,descending)):limit(20))" + ] + }, + { + "name": "Shards.delayedUnassigned", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 304, + "left": 304, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Single value", + "queries": [ + { + "id": "A", + "metric": "builtin:tech.elasticsearch.local.delayed_unassigned_shards", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(builtin:tech.elasticsearch.local.delayed_unassigned_shards:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(builtin:tech.elasticsearch.local.delayed_unassigned_shards:splitBy():sort(value(auto,descending)):limit(20))" + ] + }, + { + "name": "Nodes", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 304, + "left": 608, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Single value", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.es.nodesByClientId", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.es.nodesByClientId:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(ext:cloud.aws.es.nodesByClientId:splitBy():sort(value(auto,descending)):limit(20))" + ] + }, + { + "name": "CPUUtilization", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 608, + "left": 0, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.ec.cpuUtilization", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.ec.cpuUtilization:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "FreeStorageSpace", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 608, + "left": 304, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.es.freeStorageSpaceByClientId", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.es.freeStorageSpaceByClientId:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "JVMMemoryPressure", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 608, + "left": 608, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.es.masterJVMMemoryPressureMaximumByClientId", + "spaceAggregation": "COUNT", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.es.masterJVMMemoryPressureMaximumByClientId:splitBy():count:sort(value(avg,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "Dedicated master node metrics", + "tileType": "HEADER", + "configured": true, + "bounds": { + "top": 912, + "left": 0, + "width": 380, + "height": 38 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false + }, + { + "name": "MasterCPUUtilization", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 950, + "left": 0, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Single value", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.es.masterCPUUtilizationAverageByClientId", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.es.masterCPUUtilizationAverageByClientId:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(ext:cloud.aws.es.masterCPUUtilizationAverageByClientId:splitBy():sort(value(auto,descending)):limit(20))" + ] + }, + { + "name": "MasterJVMMemoryPressure", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 950, + "left": 304, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Single value", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.es.masterJVMMemoryPressureMaximumByClientId", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.es.masterJVMMemoryPressureMaximumByClientId:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(ext:cloud.aws.es.masterJVMMemoryPressureMaximumByClientId:splitBy():sort(value(auto,descending)):limit(20))" + ] + }, + { + "name": "MasterReachableFromNode", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 950, + "left": 608, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.es.masterReachableFromNodeMinimumByClientId", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.es.masterReachableFromNodeMinimumByClientId:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + } + ] +} + ) +} \ No newline at end of file diff --git a/files/rds.json b/files/rds.json new file mode 100644 index 0000000..2a752de --- /dev/null +++ b/files/rds.json @@ -0,0 +1,757 @@ +{ + "name": "FreeableMemory", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 266, + "height": 266 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.rds.freeableMemoryByRegionEngineName", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.rds.freeableMemoryByRegionEngineName:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "DatabaseConnections", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 380, + "width": 304, + "height": 266 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "DatabaseConnections", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.rds.databaseConnectionsSum", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.rds.databaseConnectionsSum:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(ext:cloud.aws.rds.databaseConnectionsSum:splitBy():sort(value(auto,descending)):limit(20))" + ] + }, + { + "name": "CPUUtilization", + "nameSize": "medium", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 760, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "CPUUtilization", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.ec.cpuUtilization", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.ec.cpuUtilization:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(ext:cloud.aws.ec.cpuUtilization:splitBy():sort(value(auto,descending)):limit(20))" + ] + }, + { + "name": "FreeStorageSpace", + "nameSize": "medium", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 342, + "left": 0, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "FreeStorageSpace", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.rds.freeStorageSpace", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "PIE_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.rds.freeStorageSpace:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "ReadLatency", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 342, + "left": 380, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "ReadLatency", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.rds.readLatency", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.rds.readLatency:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(ext:cloud.aws.rds.readLatency:splitBy():sort(value(auto,descending)):limit(20))" + ] + }, + { + "name": "WriteLatency", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 342, + "left": 760, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "WriteLatency", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.rds.writeLatency", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.rds.writeLatency:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(ext:cloud.aws.rds.writeLatency:splitBy():sort(value(auto,descending)):limit(20))" + ] + }, + { + "name": "NetworkReceiveThroughput", + "nameSize": "medium", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 722, + "left": 0, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "NetworkReceiveThroughput", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.rds.networkReceiveThroughput", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.rds.networkReceiveThroughput:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(ext:cloud.aws.rds.networkReceiveThroughput:splitBy():sort(value(auto,descending)):limit(20))" + ] + }, + { + "name": "NetworkTransmitThroughpu", + "nameSize": "medium", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 722, + "left": 380, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "NetworkTransmitThroughpu", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.rds.networkTransmitThroughput", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.rds.networkTransmitThroughput:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(ext:cloud.aws.rds.networkTransmitThroughput:splitBy():sort(value(auto,descending)):limit(20))" + ] + } \ No newline at end of file diff --git a/msk.tf b/msk.tf new file mode 100644 index 0000000..0110d4d --- /dev/null +++ b/msk.tf @@ -0,0 +1,958 @@ +resource "dynatrace_json_dashboard" "comos_msk_dasboard_terraform" { + contents = jsonencode( + { + "dashboardMetadata" : { + "name" : var.mks_dashbaord_name + "shared" : var.mks_shared + "owner" : var.mks_owner_name + "tags" : [ + "cosmos" + ], + "preset" : var.mks_preset + }, + "tiles": [ + { + "name": "PartitionCount", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 38, + "left": 0, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.kafka.partitionCountByBrokerID", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "Y axis", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.kafka.partitionCountByBrokerID:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "MemoryUsed", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 38, + "left": 304, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.kafka.memoryUsedByBrokerID", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.kafka.memoryUsedByBrokerID:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "BytesInPerSec", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 38, + "left": 608, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.kafka.bytesInPerSecSumByBrokerIDTopic", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.kafka.bytesInPerSecSumByBrokerIDTopic:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "BytesOutPerSec", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 38, + "left": 912, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.kafka.bytesOutPerSecSumByBrokerIDTopic", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.kafka.bytesOutPerSecSumByBrokerIDTopic:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "CpuUser", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 342, + "left": 0, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.kafka.cpuUserSumByBrokerID", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.kafka.cpuUserSumByBrokerID:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "CpuSystem", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 342, + "left": 304, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.kafka.cpuSystemSumByBrokerID", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.kafka.cpuSystemSumByBrokerID:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "KafkaDataLogsDiskUsed", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 342, + "left": 608, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.kafka.kafkaAppLogsDiskUsedByBrokerID", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.kafka.kafkaAppLogsDiskUsedByBrokerID:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "NetworkTxPackets", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 342, + "left": 912, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.kafka.networkRxPacketsByBrokerID", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.kafka.networkRxPacketsByBrokerID:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "NetworkTxPackets", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 38, + "left": 1216, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.kafka.networkRxPacketsByBrokerID", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.kafka.networkRxPacketsByBrokerID:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + } + ] +}) +} \ No newline at end of file diff --git a/output.tf b/output.tf new file mode 100644 index 0000000..377b4f3 --- /dev/null +++ b/output.tf @@ -0,0 +1,9 @@ +# output "s3_dashboard_id" { +# description = "The ID of the created Dynatrace S3 dashboard." +# value = dynatrace_dashboard.s3_dashboard.id +# } + +# output "s3_dashboard_url" { +# description = "The URL to access the S3 monitoring dashboard in Dynatrace." +# value = dynatrace_dashboard.s3_dashboard.url +# } diff --git a/provider.tf b/provider.tf new file mode 100644 index 0000000..59ee8ed --- /dev/null +++ b/provider.tf @@ -0,0 +1,8 @@ +terraform { + required_providers { + dynatrace = { + version = "~> 1.0" + source = "dynatrace-oss/dynatrace" + } + } +} \ No newline at end of file diff --git a/rds.tf b/rds.tf new file mode 100644 index 0000000..612667c --- /dev/null +++ b/rds.tf @@ -0,0 +1,773 @@ +resource "dynatrace_json_dashboard" "comos_rds_dasboard_terraform" { + contents = jsonencode( + { + "dashboardMetadata" : { + "name" : var.rds_dashbaord_name + "shared" : var.rds_shared + "owner" : var.rds_owner_name + "tags" : [ + "cosmos" + ], + "preset" : var.rds_preset + }, + "tiles": [ + { + "name": "FreeableMemory", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 38, + "width": 266, + "height": 266 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.rds.freeableMemoryByRegionEngineName", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.rds.freeableMemoryByRegionEngineName:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "DatabaseConnections", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 380, + "width": 304, + "height": 266 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "DatabaseConnections", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.rds.databaseConnectionsSum", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.rds.databaseConnectionsSum:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(ext:cloud.aws.rds.databaseConnectionsSum:splitBy():sort(value(auto,descending)):limit(20))" + ] + }, + { + "name": "CPUUtilization", + "nameSize": "medium", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 760, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "CPUUtilization", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.ec.cpuUtilization", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.ec.cpuUtilization:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(ext:cloud.aws.ec.cpuUtilization:splitBy():sort(value(auto,descending)):limit(20))" + ] + }, + { + "name": "FreeStorageSpace", + "nameSize": "medium", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 342, + "left": 0, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "FreeStorageSpace", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.rds.freeStorageSpace", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "PIE_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.rds.freeStorageSpace:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "ReadLatency", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 342, + "left": 380, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "ReadLatency", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.rds.readLatency", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.rds.readLatency:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(ext:cloud.aws.rds.readLatency:splitBy():sort(value(auto,descending)):limit(20))" + ] + }, + { + "name": "WriteLatency", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 342, + "left": 760, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "WriteLatency", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.rds.writeLatency", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.rds.writeLatency:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(ext:cloud.aws.rds.writeLatency:splitBy():sort(value(auto,descending)):limit(20))" + ] + }, + { + "name": "NetworkReceiveThroughput", + "nameSize": "medium", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 722, + "left": 0, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "NetworkReceiveThroughput", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.rds.networkReceiveThroughput", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.rds.networkReceiveThroughput:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(ext:cloud.aws.rds.networkReceiveThroughput:splitBy():sort(value(auto,descending)):limit(20))" + ] + }, + { + "name": "NetworkTransmitThroughpu", + "nameSize": "medium", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 722, + "left": 380, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "NetworkTransmitThroughpu", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.rds.networkTransmitThroughput", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "SINGLE_VALUE", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "visible": true + }, + "yAxes": [] + }, + "heatmapSettings": { + "yAxis": "VALUE" + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=Inf&(ext:cloud.aws.rds.networkTransmitThroughput:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names", + "resolution=null&(ext:cloud.aws.rds.networkTransmitThroughput:splitBy():sort(value(auto,descending)):limit(20))" + ] + } + ] +}) +} \ No newline at end of file diff --git a/s3.tf b/s3.tf new file mode 100644 index 0000000..7e6974c --- /dev/null +++ b/s3.tf @@ -0,0 +1,551 @@ +resource "dynatrace_json_dashboard" "cosmo_s3_dashboard_template" { + contents = jsonencode( + { + "dashboardMetadata": { + "name": var.s3_dashbaord_name + "shared": var.s3_shared + "owner": var.s3_owner_name + "tags": [ + "" + ], + "preset": var.s3_preset + }, + "tiles": [ + { + "name": "BytesDownloaded", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 0, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.s3.bytesDownloadedByFilterId", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.s3.bytesDownloadedByFilterId:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "BytesUploaded", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 304, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.s3.bytesUploadedByFilterId", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.s3.bytesUploadedByFilterId:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "AllRequests", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 608, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.s3.allRequestsSumByFilterId", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.s3.allRequestsSumByFilterId:splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "4xxErrors", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 0, + "left": 912, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.s3.4xxErrorsByFilterId", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.s3.\"4xxErrorsByFilterId\":splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + }, + { + "name": "5xxErrors", + "tileType": "DATA_EXPLORER", + "configured": true, + "bounds": { + "top": 304, + "left": 0, + "width": 304, + "height": 304 + }, + "tileFilter": {}, + "isAutoRefreshDisabled": false, + "customName": "Data explorer results", + "queries": [ + { + "id": "A", + "metric": "ext:cloud.aws.s3.5xxErrorsByFilterId", + "spaceAggregation": "AUTO", + "timeAggregation": "DEFAULT", + "splitBy": [], + "sortBy": "DESC", + "sortByDimension": "", + "filterBy": { + "nestedFilters": [], + "criteria": [] + }, + "limit": 20, + "rate": "NONE", + "enabled": true + } + ], + "visualConfig": { + "type": "GRAPH_CHART", + "global": {}, + "rules": [ + { + "matcher": "A:", + "properties": { + "color": "DEFAULT" + }, + "seriesOverrides": [] + } + ], + "axes": { + "xAxis": { + "displayName": "", + "visible": true + }, + "yAxes": [ + { + "displayName": "", + "visible": true, + "min": "AUTO", + "max": "AUTO", + "position": "LEFT", + "queryIds": [ + "A" + ], + "defaultAxis": true + } + ] + }, + "heatmapSettings": { + "yAxis": "VALUE", + "showLabels": false + }, + "singleValueSettings": { + "showTrend": true, + "showSparkLine": true, + "linkTileColorToThreshold": true + }, + "thresholds": [ + { + "axisTarget": "LEFT", + "rules": [ + { + "color": "#7dc540" + }, + { + "color": "#f5d30f" + }, + { + "color": "#dc172a" + } + ], + "visible": true + } + ], + "tableSettings": { + "hiddenColumns": [] + }, + "graphChartSettings": { + "connectNulls": false + }, + "honeycombSettings": { + "showHive": true, + "showLegend": true, + "showLabels": false + } + }, + "queriesSettings": { + "resolution": "" + }, + "metricExpressions": [ + "resolution=null&(ext:cloud.aws.s3.\"5xxErrorsByFilterId\":splitBy():sort(value(auto,descending)):limit(20)):limit(100):names" + ] + } + ] +}) +} \ No newline at end of file diff --git a/variables.tf b/variables.tf new file mode 100644 index 0000000..5d5db44 --- /dev/null +++ b/variables.tf @@ -0,0 +1,97 @@ + +variable "tenant_vars" { + type = any +} +variable "s3_dashbaord_name" { + type = string +} +variable "s3_owner_name" { + type = string +} +variable "s3_shared" { + type = string +} +variable "s3_preset" { + type = bool +} +variable "rds_dashbaord_name" { + type = string +} +variable "rds_owner_name" { + type = string +} +variable "rds_shared" { + type = string +} +variable "rds_preset" { + type = bool +} +variable "mks_dashbaord_name" { + type = string +} +variable "mks_owner_name" { + type = string +} +variable "mks_shared" { + type = string +} +variable "mks_preset" { + type = bool +} +variable "cloudfront_dashbaord_name" { + type = string +} +variable "cloudfront_owner_name" { + type = string +} +variable "cloudfront_shared" { + type = string +} +variable "cloudfront_preset" { + type = bool +} +variable "elasticsearch_dashbaord_name" { + type = string +} +variable "elasticsearch_owner_name" { + type = string +} +variable "elasticsearch_shared" { + type = string +} +variable "elasticsearch_preset" { + type = bool +} +variable "aleritng_profile_name" { + type = string +} +variable "email_notification_name" { + type = string +} +variable "email_subject" { + type = string +} +variable "email_id" { + type = list(string) +} +variable "slack_url" { + type = string +} +variable "channel_name" { + type = string +} +variable "slack_message" { + type = string +} +variable "email_notification_enabled" { + type = bool +} +variable "notify_closed_problem" { + type = bool +} +variable "slack_notification_enabled" { + type = bool +} +variable "slack_notification_name" { + type = string +} \ No newline at end of file