"Migrating from Monaco to Terraform for management zone: CD_CICD"

CD_CICD
Patryk Gudalewicz 2023-03-01 18:56:31 +01:00
parent 6c2ddf2a08
commit dd897024fc
3 changed files with 922 additions and 0 deletions

View File

@ -0,0 +1,357 @@
# DEFINE dynatrace_dashboard.CD_CICD_INT.id = 7db3e89d-94e0-4393-90af-c244815f1ae2
data "dynatrace_management_zone" "CD_CICD_INT"{ name="CD_CICD" }
resource "dynatrace_dashboard" "CD_CICD_INT" {
dashboard_metadata {
name = "CD_CICD INT"
owner = "Ignacio.Goldman@partner.bmwgroup.com"
preset = true
shared = true
tags = [ "CD_CICD" ]
filter {
timeframe = "-24h to now"
}
}
tile {
name = "Custom chart"
configured = true
tile_type = "CUSTOM_CHARTING"
unknowns = jsonencode({
"isAutoRefreshDisabled": false
})
bounds {
height = 304
left = 38
top = 228
width = 1064
}
filter {
management_zone {
name = "CD_CICD"
id = data.dynatrace_management_zone.CD_CICD_INT.id
}
}
filter_config {
type = "MIXED"
custom_name = "Failure rate (HTTP 4xx/5xx errors)"
default_name = "Custom chart"
chart_config {
type = "TIMESERIES"
legend = true
result_metadata {
config {
custom_color = "#ff0000"
key = "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE"
last_modified = 1617956393463
}
config {
custom_color = "#fff29a"
key = "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE"
last_modified = 1617956441725
}
}
series {
type = "BAR"
aggregation = "AVG"
aggregation_rate = "TOTAL"
entity_type = "SERVICE"
metric = "builtin:service.errors.fourxx.rate"
# sort_ascending = false
# sort_column = false
}
series {
type = "BAR"
aggregation = "AVG"
aggregation_rate = "TOTAL"
entity_type = "SERVICE"
metric = "builtin:service.errors.fivexx.rate"
# sort_ascending = false
sort_column = true
}
}
filters {
filter {
entity_type = "SERVICE"
match {
key = "AUTO_TAGS"
values = [ "Environment:INT" ]
}
}
}
}
}
tile {
name = "Problems"
configured = true
tile_type = "OPEN_PROBLEMS"
unknowns = jsonencode({
"isAutoRefreshDisabled": false
})
bounds {
height = 152
left = 950
top = 38
width = 152
}
filter {
management_zone {
name = "CD_CICD"
id = data.dynatrace_management_zone.CD_CICD_INT.id
}
}
}
tile {
name = "Overall Health"
configured = true
tile_type = "HEADER"
unknowns = jsonencode({
"isAutoRefreshDisabled": false
})
bounds {
height = 38
left = 38
top = 0
width = 1064
}
filter {
management_zone {
name = "CD_CICD"
id = data.dynatrace_management_zone.CD_CICD_INT.id
}
}
}
tile {
name = "Markdown"
configured = true
markdown =<<-EOT
---
EOT
tile_type = "MARKDOWN"
unknowns = jsonencode({
"isAutoRefreshDisabled": false
})
bounds {
height = 38
left = 38
top = 532
width = 1064
}
}
tile {
name = "Custom chart"
configured = true
tile_type = "CUSTOM_CHARTING"
unknowns = jsonencode({
"isAutoRefreshDisabled": false
})
bounds {
height = 304
left = 38
top = 570
width = 1064
}
filter {
management_zone {
name = "CD_CICD"
id = data.dynatrace_management_zone.CD_CICD_INT.id
}
}
filter_config {
type = "MIXED"
custom_name = "Response time, Request Count and Number of Errors"
default_name = "Custom chart"
chart_config {
type = "TIMESERIES"
legend = true
result_metadata {
config {
custom_color = "#008cdb"
key = "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE"
last_modified = 1595275720776
}
config {
custom_color = "#b4e5f9"
key = "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE"
last_modified = 1595275686773
}
config {
custom_color = "#ef651f"
key = "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE"
last_modified = 1595275955999
}
}
series {
type = "LINE"
aggregation = "AVG"
aggregation_rate = "TOTAL"
entity_type = "SERVICE"
metric = "builtin:service.response.time"
# sort_ascending = false
# sort_column = false
}
series {
type = "BAR"
aggregation = "NONE"
aggregation_rate = "TOTAL"
entity_type = "SERVICE"
metric = "builtin:service.requestCount.total"
# sort_ascending = false
# sort_column = false
}
series {
type = "BAR"
aggregation = "NONE"
aggregation_rate = "TOTAL"
entity_type = "SERVICE"
metric = "builtin:service.errors.total.count"
# sort_ascending = false
sort_column = true
}
}
filters {
filter {
entity_type = "SERVICE"
match {
key = "AUTO_TAGS"
values = [ "Environment:INT" ]
}
}
}
}
}
tile {
name = "Markdown"
configured = true
markdown =<<-EOT
---
EOT
tile_type = "MARKDOWN"
unknowns = jsonencode({
"isAutoRefreshDisabled": false
})
bounds {
height = 38
left = 38
top = 190
width = 1064
}
}
tile {
name = ""
chart_visible = true
configured = true
tile_type = "DATABASES_OVERVIEW"
unknowns = jsonencode({
"isAutoRefreshDisabled": false
})
bounds {
height = 152
left = 646
top = 38
width = 190
}
filter {
management_zone {
name = "CD_CICD"
id = data.dynatrace_management_zone.CD_CICD_INT.id
}
}
filter_config {
type = "DATABASE"
custom_name = "Databases"
default_name = "Databases"
chart_config {
type = "TIMESERIES"
legend = true
}
filters {
filter {
entity_type = "DATABASE"
match {
key = "AUTO_TAGS"
values = [ "Environment:INT" ]
}
}
}
}
}
tile {
name = ""
chart_visible = true
configured = true
tile_type = "SERVICES"
unknowns = jsonencode({
"isAutoRefreshDisabled": false
})
bounds {
height = 152
left = 342
top = 38
width = 190
}
filter {
management_zone {
name = "CD_CICD"
id = data.dynatrace_management_zone.CD_CICD_INT.id
}
}
filter_config {
type = "SERVICE"
custom_name = "Services"
default_name = "Services"
chart_config {
type = "TIMESERIES"
legend = true
}
filters {
filter {
entity_type = "SERVICE"
match {
key = "AUTO_TAGS"
values = [ "Environment:INT" ]
}
}
}
}
}
tile {
name = ""
chart_visible = true
configured = true
tile_type = "HOSTS"
unknowns = jsonencode({
"isAutoRefreshDisabled": false
})
bounds {
height = 152
left = 38
top = 38
width = 190
}
filter {
management_zone {
name = "CD_CICD"
id = data.dynatrace_management_zone.CD_CICD_INT.id
}
}
filter_config {
type = "HOST"
custom_name = "Hosts"
default_name = "Hosts"
chart_config {
type = "TIMESERIES"
legend = true
}
filters {
filter {
entity_type = "HOST"
match {
key = "AUTO_TAGS"
values = [ "Environment:INT" ]
}
}
}
}
}
}

View File

@ -0,0 +1,545 @@
# DEFINE dynatrace_dashboard.CD_CICD_TEST.id = d43bf538-2cfe-4b17-a233-e3c9e9ed8365
data "dynatrace_management_zone" "CD_CICD_TEST"{ name="CD_CICD" }
resource "dynatrace_dashboard" "CD_CICD_TEST" {
dashboard_metadata {
name = "CD_CICD TEST"
owner = "Ignacio.Goldman@partner.bmwgroup.com"
preset = true
shared = true
tags = [ "CD_CICD" ]
filter {
timeframe = "-24h to now"
}
}
tile {
name = "Custom chart"
configured = true
tile_type = "CUSTOM_CHARTING"
unknowns = jsonencode({
"isAutoRefreshDisabled": false
})
bounds {
height = 304
left = 38
top = 228
width = 1064
}
filter {
management_zone {
name = "CD_CICD"
id = data.dynatrace_management_zone.CD_CICD_TEST.id
}
}
filter_config {
type = "MIXED"
custom_name = "Failure rate (HTTP 4xx/5xx errors)"
default_name = "Custom chart"
chart_config {
type = "TIMESERIES"
legend = true
result_metadata {
config {
custom_color = "#ff0000"
key = "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE"
last_modified = 1617956393463
}
config {
custom_color = "#fff29a"
key = "nullbuiltin:service.errors.fourxx.rate|AVG|TOTAL|BAR|SERVICE"
last_modified = 1617956441725
}
}
series {
type = "BAR"
aggregation = "AVG"
aggregation_rate = "TOTAL"
entity_type = "SERVICE"
metric = "builtin:service.errors.fourxx.rate"
# sort_ascending = false
# sort_column = false
}
series {
type = "BAR"
aggregation = "AVG"
aggregation_rate = "TOTAL"
entity_type = "SERVICE"
metric = "builtin:service.errors.fivexx.rate"
# sort_ascending = false
sort_column = true
}
}
filters {
filter {
entity_type = "SERVICE"
match {
key = "AUTO_TAGS"
values = [ "Environment:TEST" ]
}
}
}
}
}
tile {
name = "Problems"
configured = true
tile_type = "OPEN_PROBLEMS"
unknowns = jsonencode({
"isAutoRefreshDisabled": false
})
bounds {
height = 152
left = 950
top = 38
width = 152
}
filter {
management_zone {
name = "CD_CICD"
id = data.dynatrace_management_zone.CD_CICD_TEST.id
}
}
}
tile {
name = "Overall Health"
configured = true
tile_type = "HEADER"
unknowns = jsonencode({
"isAutoRefreshDisabled": false
})
bounds {
height = 38
left = 38
top = 0
width = 1064
}
filter {
management_zone {
name = "CD_CICD"
id = data.dynatrace_management_zone.CD_CICD_TEST.id
}
}
}
tile {
name = "Markdown"
configured = true
markdown =<<-EOT
---
EOT
tile_type = "MARKDOWN"
unknowns = jsonencode({
"isAutoRefreshDisabled": false
})
bounds {
height = 38
left = 38
top = 532
width = 1064
}
}
tile {
name = "Custom chart"
configured = true
tile_type = "CUSTOM_CHARTING"
unknowns = jsonencode({
"isAutoRefreshDisabled": false
})
bounds {
height = 304
left = 38
top = 570
width = 1064
}
filter {
management_zone {
name = "CD_CICD"
id = data.dynatrace_management_zone.CD_CICD_TEST.id
}
}
filter_config {
type = "MIXED"
custom_name = "Response time, Request Count and Number of Errors"
default_name = "Custom chart"
chart_config {
type = "TIMESERIES"
legend = true
result_metadata {
config {
custom_color = "#008cdb"
key = "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE"
last_modified = 1595275720776
}
config {
custom_color = "#b4e5f9"
key = "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE"
last_modified = 1595275686773
}
config {
custom_color = "#ef651f"
key = "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE"
last_modified = 1595275955999
}
}
series {
type = "LINE"
aggregation = "AVG"
aggregation_rate = "TOTAL"
entity_type = "SERVICE"
metric = "builtin:service.response.time"
# sort_ascending = false
# sort_column = false
}
series {
type = "BAR"
aggregation = "NONE"
aggregation_rate = "TOTAL"
entity_type = "SERVICE"
metric = "builtin:service.requestCount.total"
# sort_ascending = false
# sort_column = false
}
series {
type = "BAR"
aggregation = "NONE"
aggregation_rate = "TOTAL"
entity_type = "SERVICE"
metric = "builtin:service.errors.total.count"
# sort_ascending = false
sort_column = true
}
}
filters {
filter {
entity_type = "SERVICE"
match {
key = "AUTO_TAGS"
values = [ "Environment:TEST" ]
}
}
}
}
}
tile {
name = "Markdown"
configured = true
markdown =<<-EOT
---
EOT
tile_type = "MARKDOWN"
unknowns = jsonencode({
"isAutoRefreshDisabled": false
})
bounds {
height = 38
left = 38
top = 190
width = 1064
}
}
tile {
name = ""
chart_visible = true
configured = true
tile_type = "DATABASES_OVERVIEW"
unknowns = jsonencode({
"isAutoRefreshDisabled": false
})
bounds {
height = 152
left = 646
top = 38
width = 190
}
filter {
management_zone {
name = "CD_CICD"
id = data.dynatrace_management_zone.CD_CICD_TEST.id
}
}
filter_config {
type = "DATABASE"
custom_name = "Databases"
default_name = "Databases"
chart_config {
type = "TIMESERIES"
legend = true
}
filters {
filter {
entity_type = "DATABASE"
match {
key = "AUTO_TAGS"
values = [ "Environment:TEST" ]
}
}
}
}
}
tile {
name = ""
chart_visible = true
configured = true
tile_type = "SERVICES"
unknowns = jsonencode({
"isAutoRefreshDisabled": false
})
bounds {
height = 152
left = 342
top = 38
width = 190
}
filter {
management_zone {
name = "CD_CICD"
id = data.dynatrace_management_zone.CD_CICD_TEST.id
}
}
filter_config {
type = "SERVICE"
custom_name = "Services"
default_name = "Services"
chart_config {
type = "TIMESERIES"
legend = true
}
filters {
filter {
entity_type = "SERVICE"
match {
key = "AUTO_TAGS"
values = [ "Environment:TEST" ]
}
}
}
}
}
tile {
name = ""
chart_visible = true
configured = true
tile_type = "HOSTS"
unknowns = jsonencode({
"isAutoRefreshDisabled": false
})
bounds {
height = 152
left = 38
top = 38
width = 190
}
filter {
management_zone {
name = "CD_CICD"
id = data.dynatrace_management_zone.CD_CICD_TEST.id
}
}
filter_config {
type = "HOST"
custom_name = "Hosts"
default_name = "Hosts"
chart_config {
type = "TIMESERIES"
legend = true
}
filters {
filter {
entity_type = "HOST"
match {
key = "AUTO_TAGS"
values = [ "Environment:TEST" ]
}
}
}
}
}
tile {
name = "Disk Througuput"
configured = true
custom_name = "Data explorer results"
tile_type = "DATA_EXPLORER"
unknowns = jsonencode({
"isAutoRefreshDisabled": false,
"metricExpressions": [
"resolution=null\u0026(builtin:host.disk.throughput.write:splitBy(\"dt.entity.host\"):avg:auto:sort(value(avg,descending)):limit(20)):limit(100):names"
],
"queries": [
{
"enabled": true,
"filterBy": {
"criteria": [],
"nestedFilters": []
},
"id": "A",
"metric": "builtin:host.disk.throughput.write",
"rate": "NONE",
"spaceAggregation": "AVG",
"splitBy": [
"dt.entity.host"
],
"timeAggregation": "DEFAULT"
}
],
"visualConfig": {
"axes": {
"xAxis": {
"displayName": "",
"visible": true
},
"yAxes": [
{
"defaultAxis": true,
"displayName": "",
"max": "AUTO",
"min": "AUTO",
"position": "LEFT",
"queryIds": [
"A"
],
"visible": true
}
]
},
"global": {
"hideLegend": false
},
"graphChartSettings": {
"connectNulls": false
},
"heatmapSettings": {
"yAxis": "VALUE"
},
"rules": [
{
"matcher": "A:",
"properties": {
"color": "DEFAULT",
"seriesType": "LINE"
},
"seriesOverrides": []
}
],
"tableSettings": {},
"thresholds": [
{
"axisTarget": "LEFT",
"queryId": "",
"rules": [
{
"color": "#7dc540"
},
{
"color": "#f5d30f"
},
{
"color": "#dc172a"
}
],
"visible": true
}
],
"type": "GRAPH_CHART"
}
})
bounds {
height = 304
left = 76
top = 912
width = 1026
}
}
tile {
name = "Graph"
configured = true
custom_name = "Data explorer results"
tile_type = "DATA_EXPLORER"
unknowns = jsonencode({
"isAutoRefreshDisabled": false,
"metricExpressions": [
"resolution=null\u0026(builtin:host.mem.used:splitBy():avg:auto:sort(value(avg,descending)):limit(20)):limit(100):names"
],
"queries": [
{
"enabled": true,
"filterBy": {
"criteria": [],
"nestedFilters": []
},
"id": "A",
"metric": "builtin:host.mem.used",
"rate": "NONE",
"spaceAggregation": "AVG",
"splitBy": [],
"timeAggregation": "DEFAULT"
}
],
"visualConfig": {
"axes": {
"xAxis": {
"displayName": "",
"visible": true
},
"yAxes": [
{
"defaultAxis": true,
"displayName": "",
"max": "AUTO",
"min": "AUTO",
"position": "LEFT",
"queryIds": [
"A"
],
"visible": true
}
]
},
"global": {
"hideLegend": false
},
"graphChartSettings": {
"connectNulls": false
},
"heatmapSettings": {
"yAxis": "VALUE"
},
"rules": [
{
"matcher": "A:",
"properties": {
"color": "DEFAULT",
"seriesType": "LINE"
},
"seriesOverrides": []
}
],
"tableSettings": {},
"thresholds": [
{
"axisTarget": "LEFT",
"queryId": "",
"rules": [
{
"color": "#7dc540"
},
{
"color": "#f5d30f"
},
{
"color": "#dc172a"
}
],
"visible": true
}
],
"type": "GRAPH_CHART"
}
})
bounds {
height = 304
left = 76
top = 1216
width = 304
}
}
}

View File

@ -0,0 +1,20 @@
# DEFINE dynatrace_management_zone.CD_CICD.id = 6119204091544376229
resource "dynatrace_management_zone" "CD_CICD" {
name = "CD_CICD"
entity_selector_based_rule {
enabled = true
selector = "type(SERVICE),databaseName.exists(),toRelationship.calls(type(SERVICE),tag(\"compass-id:CICD\"))"
}
entity_selector_based_rule {
enabled = true
selector = "type(HOST),tag(\"compass-id:CICD\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:CICD\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(PROCESS_GROUP_INSTANCE),tag(\"compass-id:CICD\")"
}
}