Merge pull request #42 in OPAPM/coco_apm_terraform_onboarding from CD_APIGW to master
* commit 'c0eb962427cae64b5834f37617fc119c034423d0': "Migrating from Monaco to Terraform for management zone: CD_APIGW" "Migrating from Monaco to Terraform for management zone: CD_APIGW" "Migrating from Monaco to Terraform for management zone: CD_APIGW" "Migrating from Monaco to Terraform for management zone: CD_APIGW" "Migrating from Monaco to Terraform for management zone: CD_APIGW" "Migrating from Monaco to Terraform for management zone: CD_APIGW"CD_TS-CMS
commit
89647ea284
|
|
@ -0,0 +1,26 @@
|
||||||
|
# DEFINE dynatrace_alerting.CD_APIGW_INT.id = vu9U3hXa3q0AAAABABhidWlsdGluOmFsZXJ0aW5nLnByb2ZpbGUABnRlbmFudAAGdGVuYW50ACQ4NmI4MDliZS0yOTU2LTQ4ZGUtOTdlZi02NDQ5YzA2ZGE0NWK-71TeFdrerQ
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_INT"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_alerting" "CD_APIGW_INT" {
|
||||||
|
name = "CD_APIGW INT"
|
||||||
|
management_zone = data.dynatrace_management_zone.CD_APIGW_INT.id
|
||||||
|
rules {
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 0
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "AVAILABILITY"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 10
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "CUSTOM_ALERT"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 30
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "RESOURCE_CONTENTION"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
# DEFINE dynatrace_alerting.CD_APIGW_PROD.id = vu9U3hXa3q0AAAABABhidWlsdGluOmFsZXJ0aW5nLnByb2ZpbGUABnRlbmFudAAGdGVuYW50ACQ3MGMwNDBiMy0yYWVjLTMzYjItOWQwZC01ODRjMWYzMzg2Yje-71TeFdrerQ
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_PROD"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_alerting" "CD_APIGW_PROD" {
|
||||||
|
name = "CD_APIGW PROD"
|
||||||
|
management_zone = data.dynatrace_management_zone.CD_APIGW_PROD.id
|
||||||
|
rules {
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 0
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "AVAILABILITY"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 10
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "CUSTOM_ALERT"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 30
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "RESOURCE_CONTENTION"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,306 @@
|
||||||
|
# DEFINE dynatrace_dashboard.CD_APIGW_INT.id = 85818e7a-defc-41a2-90cc-249c73d97578
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_INT"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_dashboard" "CD_APIGW_INT" {
|
||||||
|
dashboard_metadata {
|
||||||
|
name = "CD_APIGW INT"
|
||||||
|
owner = "Ignacio.Goldman@partner.bmwgroup.com"
|
||||||
|
# preset = false
|
||||||
|
shared = true
|
||||||
|
tags = [ "APIGW" ]
|
||||||
|
filter {
|
||||||
|
timeframe = "-24h to now"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Custom chart"
|
||||||
|
configured = true
|
||||||
|
tile_type = "CUSTOM_CHARTING"
|
||||||
|
bounds {
|
||||||
|
height = 304
|
||||||
|
left = 38
|
||||||
|
top = 228
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
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 = [ "Component:APIGW", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Problems"
|
||||||
|
configured = true
|
||||||
|
tile_type = "OPEN_PROBLEMS"
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 950
|
||||||
|
top = 38
|
||||||
|
width = 152
|
||||||
|
}
|
||||||
|
filter {
|
||||||
|
management_zone {
|
||||||
|
name = "CD_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_INT.id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Overall Health"
|
||||||
|
configured = true
|
||||||
|
tile_type = "HEADER"
|
||||||
|
bounds {
|
||||||
|
height = 38
|
||||||
|
left = 38
|
||||||
|
top = 0
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Markdown"
|
||||||
|
configured = true
|
||||||
|
markdown =<<-EOT
|
||||||
|
---
|
||||||
|
|
||||||
|
EOT
|
||||||
|
tile_type = "MARKDOWN"
|
||||||
|
bounds {
|
||||||
|
height = 38
|
||||||
|
left = 38
|
||||||
|
top = 532
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Custom chart"
|
||||||
|
configured = true
|
||||||
|
tile_type = "CUSTOM_CHARTING"
|
||||||
|
bounds {
|
||||||
|
height = 304
|
||||||
|
left = 38
|
||||||
|
top = 570
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
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 = [ "Component:APIGW", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Markdown"
|
||||||
|
configured = true
|
||||||
|
markdown =<<-EOT
|
||||||
|
---
|
||||||
|
|
||||||
|
EOT
|
||||||
|
tile_type = "MARKDOWN"
|
||||||
|
bounds {
|
||||||
|
height = 38
|
||||||
|
left = 38
|
||||||
|
top = 190
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = ""
|
||||||
|
chart_visible = true
|
||||||
|
configured = true
|
||||||
|
tile_type = "DATABASES_OVERVIEW"
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 646
|
||||||
|
top = 38
|
||||||
|
width = 190
|
||||||
|
}
|
||||||
|
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 = [ "Component:APIGW", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = ""
|
||||||
|
chart_visible = true
|
||||||
|
configured = true
|
||||||
|
tile_type = "SERVICES"
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 342
|
||||||
|
top = 38
|
||||||
|
width = 190
|
||||||
|
}
|
||||||
|
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 = [ "Component:APIGW", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = ""
|
||||||
|
chart_visible = true
|
||||||
|
configured = true
|
||||||
|
tile_type = "HOSTS"
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 38
|
||||||
|
top = 38
|
||||||
|
width = 190
|
||||||
|
}
|
||||||
|
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 = [ "Component:APIGW", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# DEFINE dynatrace_dashboard_sharing.CD_APIGW_INT.id = 85818e7a-defc-41a2-90cc-249c73d97578
|
||||||
|
resource "dynatrace_dashboard_sharing" "CD_APIGW_INT" {
|
||||||
|
enabled = true
|
||||||
|
dashboard_id = dynatrace_dashboard.CD_APIGW_INT.id
|
||||||
|
# preset = false
|
||||||
|
permissions {
|
||||||
|
permission {
|
||||||
|
type = "ALL"
|
||||||
|
level = "VIEW"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,306 @@
|
||||||
|
# DEFINE dynatrace_dashboard.CD_APIGW_TEST.id = 4d06820c-5e14-42a8-a143-d4f482a50ef4
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_TEST"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_dashboard" "CD_APIGW_TEST" {
|
||||||
|
dashboard_metadata {
|
||||||
|
name = "CD_APIGW TEST"
|
||||||
|
owner = "Ignacio.Goldman@partner.bmwgroup.com"
|
||||||
|
# preset = false
|
||||||
|
shared = true
|
||||||
|
tags = [ "APIGW" ]
|
||||||
|
filter {
|
||||||
|
timeframe = "-24h to now"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Custom chart"
|
||||||
|
configured = true
|
||||||
|
tile_type = "CUSTOM_CHARTING"
|
||||||
|
bounds {
|
||||||
|
height = 304
|
||||||
|
left = 38
|
||||||
|
top = 228
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
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 = [ "Component:APIGW", "Environment:TEST" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Problems"
|
||||||
|
configured = true
|
||||||
|
tile_type = "OPEN_PROBLEMS"
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 950
|
||||||
|
top = 38
|
||||||
|
width = 152
|
||||||
|
}
|
||||||
|
filter {
|
||||||
|
management_zone {
|
||||||
|
name = "CD_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_TEST.id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Overall Health"
|
||||||
|
configured = true
|
||||||
|
tile_type = "HEADER"
|
||||||
|
bounds {
|
||||||
|
height = 38
|
||||||
|
left = 38
|
||||||
|
top = 0
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Markdown"
|
||||||
|
configured = true
|
||||||
|
markdown =<<-EOT
|
||||||
|
---
|
||||||
|
|
||||||
|
EOT
|
||||||
|
tile_type = "MARKDOWN"
|
||||||
|
bounds {
|
||||||
|
height = 38
|
||||||
|
left = 38
|
||||||
|
top = 532
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Custom chart"
|
||||||
|
configured = true
|
||||||
|
tile_type = "CUSTOM_CHARTING"
|
||||||
|
bounds {
|
||||||
|
height = 304
|
||||||
|
left = 38
|
||||||
|
top = 570
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
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 = [ "Component:APIGW", "Environment:TEST" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Markdown"
|
||||||
|
configured = true
|
||||||
|
markdown =<<-EOT
|
||||||
|
---
|
||||||
|
|
||||||
|
EOT
|
||||||
|
tile_type = "MARKDOWN"
|
||||||
|
bounds {
|
||||||
|
height = 38
|
||||||
|
left = 38
|
||||||
|
top = 190
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = ""
|
||||||
|
chart_visible = true
|
||||||
|
configured = true
|
||||||
|
tile_type = "DATABASES_OVERVIEW"
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 646
|
||||||
|
top = 38
|
||||||
|
width = 190
|
||||||
|
}
|
||||||
|
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 = [ "Component:APIGW", "Environment:TEST" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = ""
|
||||||
|
chart_visible = true
|
||||||
|
configured = true
|
||||||
|
tile_type = "SERVICES"
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 342
|
||||||
|
top = 38
|
||||||
|
width = 190
|
||||||
|
}
|
||||||
|
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 = [ "Component:APIGW", "Environment:TEST" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = ""
|
||||||
|
chart_visible = true
|
||||||
|
configured = true
|
||||||
|
tile_type = "HOSTS"
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 38
|
||||||
|
top = 38
|
||||||
|
width = 190
|
||||||
|
}
|
||||||
|
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 = [ "Component:APIGW", "Environment:TEST" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# DEFINE dynatrace_dashboard_sharing.CD_APIGW_TEST.id = 4d06820c-5e14-42a8-a143-d4f482a50ef4
|
||||||
|
resource "dynatrace_dashboard_sharing" "CD_APIGW_TEST" {
|
||||||
|
enabled = true
|
||||||
|
dashboard_id = dynatrace_dashboard.CD_APIGW_TEST.id
|
||||||
|
# preset = false
|
||||||
|
permissions {
|
||||||
|
permission {
|
||||||
|
type = "ALL"
|
||||||
|
level = "VIEW"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,232 @@
|
||||||
|
# DEFINE dynatrace_management_zone.CD_APIGW.id = 2782679968902235077
|
||||||
|
resource "dynatrace_management_zone" "CD_APIGW" {
|
||||||
|
name = "CD_APIGW"
|
||||||
|
rules {
|
||||||
|
type = "SERVICE"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "SERVICE_TO_HOST_LIKE", "SERVICE_TO_PROCESS_GROUP_LIKE" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "HealthResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PingResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PrometheusResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-APP"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "SERVICE"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "SERVICE_TO_HOST_LIKE", "SERVICE_TO_PROCESS_GROUP_LIKE" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "HealthResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PingResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PrometheusResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-WS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "SERVICE"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "SERVICE_TO_HOST_LIKE", "SERVICE_TO_PROCESS_GROUP_LIKE" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "HealthResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PingResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PrometheusResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "Service Gateway Legacy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "PROCESS_GROUP"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "PROCESS_GROUP_TO_HOST" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-APP"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "PROCESS_GROUP"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "PROCESS_GROUP_TO_HOST" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-WS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "PROCESS_GROUP"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "PROCESS_GROUP_TO_HOST" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "Service Gateway Legacy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
# DEFINE dynatrace_alerting.CD_APIGW_INT.id = vu9U3hXa3q0AAAABABhidWlsdGluOmFsZXJ0aW5nLnByb2ZpbGUABnRlbmFudAAGdGVuYW50ACQzZjM3ZGQ5Mi0zOGJkLTNkYmQtYmNhZS03MjViOTE4ZGY5Zji-71TeFdrerQ
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_INT"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_alerting" "CD_APIGW_INT" {
|
||||||
|
name = "CD_APIGW INT"
|
||||||
|
management_zone = data.dynatrace_management_zone.CD_APIGW_INT.id
|
||||||
|
rules {
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 0
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "AVAILABILITY"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 10
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "CUSTOM_ALERT"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 30
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "RESOURCE_CONTENTION"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
# DEFINE dynatrace_alerting.CD_APIGW_PROD.id = vu9U3hXa3q0AAAABABhidWlsdGluOmFsZXJ0aW5nLnByb2ZpbGUABnRlbmFudAAGdGVuYW50ACQ1NDFkOTNjYi0yZWY1LTQwOTktYWM1Ni0wMjgzODVhNmViM2S-71TeFdrerQ
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_PROD"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_alerting" "CD_APIGW_PROD" {
|
||||||
|
name = "CD_APIGW PROD"
|
||||||
|
management_zone = data.dynatrace_management_zone.CD_APIGW_PROD.id
|
||||||
|
rules {
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 0
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "AVAILABILITY"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 10
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "CUSTOM_ALERT"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 30
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "RESOURCE_CONTENTION"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,306 @@
|
||||||
|
# DEFINE dynatrace_dashboard.CD_APIGW_PROD.id = 8907b3c5-7e02-4205-81ac-358207f87faf
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_PROD"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_dashboard" "CD_APIGW_PROD" {
|
||||||
|
dashboard_metadata {
|
||||||
|
name = "CD_APIGW PROD"
|
||||||
|
owner = "Ignacio.Goldman@partner.bmwgroup.com"
|
||||||
|
# preset = false
|
||||||
|
shared = true
|
||||||
|
tags = [ "APIGW" ]
|
||||||
|
filter {
|
||||||
|
timeframe = "-24h to now"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Custom chart"
|
||||||
|
configured = true
|
||||||
|
tile_type = "CUSTOM_CHARTING"
|
||||||
|
bounds {
|
||||||
|
height = 304
|
||||||
|
left = 38
|
||||||
|
top = 228
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
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 = [ "Component:APIGW", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Problems"
|
||||||
|
configured = true
|
||||||
|
tile_type = "OPEN_PROBLEMS"
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 950
|
||||||
|
top = 38
|
||||||
|
width = 152
|
||||||
|
}
|
||||||
|
filter {
|
||||||
|
management_zone {
|
||||||
|
name = "CD_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_PROD.id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Overall Health"
|
||||||
|
configured = true
|
||||||
|
tile_type = "HEADER"
|
||||||
|
bounds {
|
||||||
|
height = 38
|
||||||
|
left = 38
|
||||||
|
top = 0
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Markdown"
|
||||||
|
configured = true
|
||||||
|
markdown =<<-EOT
|
||||||
|
---
|
||||||
|
|
||||||
|
EOT
|
||||||
|
tile_type = "MARKDOWN"
|
||||||
|
bounds {
|
||||||
|
height = 38
|
||||||
|
left = 38
|
||||||
|
top = 532
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Custom chart"
|
||||||
|
configured = true
|
||||||
|
tile_type = "CUSTOM_CHARTING"
|
||||||
|
bounds {
|
||||||
|
height = 304
|
||||||
|
left = 38
|
||||||
|
top = 570
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
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 = [ "Component:APIGW", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Markdown"
|
||||||
|
configured = true
|
||||||
|
markdown =<<-EOT
|
||||||
|
---
|
||||||
|
|
||||||
|
EOT
|
||||||
|
tile_type = "MARKDOWN"
|
||||||
|
bounds {
|
||||||
|
height = 38
|
||||||
|
left = 38
|
||||||
|
top = 190
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = ""
|
||||||
|
chart_visible = true
|
||||||
|
configured = true
|
||||||
|
tile_type = "DATABASES_OVERVIEW"
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 646
|
||||||
|
top = 38
|
||||||
|
width = 190
|
||||||
|
}
|
||||||
|
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 = [ "Component:APIGW", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = ""
|
||||||
|
chart_visible = true
|
||||||
|
configured = true
|
||||||
|
tile_type = "SERVICES"
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 342
|
||||||
|
top = 38
|
||||||
|
width = 190
|
||||||
|
}
|
||||||
|
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 = [ "Component:APIGW", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = ""
|
||||||
|
chart_visible = true
|
||||||
|
configured = true
|
||||||
|
tile_type = "HOSTS"
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 38
|
||||||
|
top = 38
|
||||||
|
width = 190
|
||||||
|
}
|
||||||
|
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 = [ "Component:APIGW", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# DEFINE dynatrace_dashboard_sharing.CD_APIGW_PROD.id = 8907b3c5-7e02-4205-81ac-358207f87faf
|
||||||
|
resource "dynatrace_dashboard_sharing" "CD_APIGW_PROD" {
|
||||||
|
enabled = true
|
||||||
|
dashboard_id = dynatrace_dashboard.CD_APIGW_PROD.id
|
||||||
|
# preset = false
|
||||||
|
permissions {
|
||||||
|
permission {
|
||||||
|
type = "ALL"
|
||||||
|
level = "VIEW"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,232 @@
|
||||||
|
# DEFINE dynatrace_management_zone.CD_APIGW.id = 8776167944502484673
|
||||||
|
resource "dynatrace_management_zone" "CD_APIGW" {
|
||||||
|
name = "CD_APIGW"
|
||||||
|
rules {
|
||||||
|
type = "SERVICE"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "SERVICE_TO_HOST_LIKE", "SERVICE_TO_PROCESS_GROUP_LIKE" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "HealthResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PingResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PrometheusResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-APP"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "SERVICE"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "SERVICE_TO_HOST_LIKE", "SERVICE_TO_PROCESS_GROUP_LIKE" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "HealthResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PingResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PrometheusResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-WS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "SERVICE"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "SERVICE_TO_HOST_LIKE", "SERVICE_TO_PROCESS_GROUP_LIKE" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "HealthResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PingResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PrometheusResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "Service Gateway Legacy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "PROCESS_GROUP"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "PROCESS_GROUP_TO_HOST" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-APP"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "PROCESS_GROUP"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "PROCESS_GROUP_TO_HOST" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-WS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "PROCESS_GROUP"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "PROCESS_GROUP_TO_HOST" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "Service Gateway Legacy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
# DEFINE dynatrace_alerting.CD_APIGW_INT.id = vu9U3hXa3q0AAAABABhidWlsdGluOmFsZXJ0aW5nLnByb2ZpbGUABnRlbmFudAAGdGVuYW50ACQ3MGJkYzNmMy00Nzk3LTM0NGEtOGZlYy05YWQxMzYwYjBmMjS-71TeFdrerQ
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_INT"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_alerting" "CD_APIGW_INT" {
|
||||||
|
name = "CD_APIGW INT"
|
||||||
|
management_zone = data.dynatrace_management_zone.CD_APIGW_INT.id
|
||||||
|
rules {
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 0
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "AVAILABILITY"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 10
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "CUSTOM_ALERT"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 30
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "RESOURCE_CONTENTION"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,357 @@
|
||||||
|
# DEFINE dynatrace_dashboard.CD_APIGW_INT.id = cb773e5d-d101-4447-ac6e-50684630dccc
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_INT"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_dashboard" "CD_APIGW_INT" {
|
||||||
|
dashboard_metadata {
|
||||||
|
name = "CD_APIGW INT"
|
||||||
|
owner = "Ignacio.Goldman@partner.bmwgroup.com"
|
||||||
|
preset = true
|
||||||
|
shared = true
|
||||||
|
tags = [ "CD_APIGW" ]
|
||||||
|
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_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_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_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_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_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_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_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_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_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_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_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_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_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_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" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,357 @@
|
||||||
|
# DEFINE dynatrace_dashboard.CD_APIGW_TEST.id = 9172c6a9-3e21-4029-b656-cafce230ec6f
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_TEST"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_dashboard" "CD_APIGW_TEST" {
|
||||||
|
dashboard_metadata {
|
||||||
|
name = "CD_APIGW TEST"
|
||||||
|
owner = "Ignacio.Goldman@partner.bmwgroup.com"
|
||||||
|
preset = true
|
||||||
|
shared = true
|
||||||
|
tags = [ "CD_APIGW" ]
|
||||||
|
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_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_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_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_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_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_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_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_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_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_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_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_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_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_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" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,232 @@
|
||||||
|
# DEFINE dynatrace_management_zone.CD_APIGW.id = 8127945079601728901
|
||||||
|
resource "dynatrace_management_zone" "CD_APIGW" {
|
||||||
|
name = "CD_APIGW"
|
||||||
|
rules {
|
||||||
|
type = "SERVICE"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "SERVICE_TO_HOST_LIKE", "SERVICE_TO_PROCESS_GROUP_LIKE" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "HealthResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PingResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PrometheusResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-APP"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "SERVICE"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "SERVICE_TO_HOST_LIKE", "SERVICE_TO_PROCESS_GROUP_LIKE" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "HealthResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PingResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PrometheusResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-WS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "SERVICE"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "SERVICE_TO_HOST_LIKE", "SERVICE_TO_PROCESS_GROUP_LIKE" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "HealthResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PingResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PrometheusResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "Service Gateway Legacy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "PROCESS_GROUP"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "PROCESS_GROUP_TO_HOST" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-APP"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "PROCESS_GROUP"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "PROCESS_GROUP_TO_HOST" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-WS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "PROCESS_GROUP"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "PROCESS_GROUP_TO_HOST" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "Service Gateway Legacy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
# DEFINE dynatrace_alerting.CD_APIGW_INT.id = vu9U3hXa3q0AAAABABhidWlsdGluOmFsZXJ0aW5nLnByb2ZpbGUABnRlbmFudAAGdGVuYW50ACRhMjlhZjczOC05OGZmLTNiYzYtYjk5MC04ZDI2OWIxYjllZje-71TeFdrerQ
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_INT"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_alerting" "CD_APIGW_INT" {
|
||||||
|
name = "CD_APIGW INT"
|
||||||
|
management_zone = data.dynatrace_management_zone.CD_APIGW_INT.id
|
||||||
|
rules {
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 0
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "AVAILABILITY"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 10
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "CUSTOM_ALERT"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 30
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "RESOURCE_CONTENTION"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
# DEFINE dynatrace_alerting.CD_APIGW_PROD.id = vu9U3hXa3q0AAAABABhidWlsdGluOmFsZXJ0aW5nLnByb2ZpbGUABnRlbmFudAAGdGVuYW50ACQyNjNlOGJjYy03NTNhLTM1ZTItYTIzYy1kN2E2Mzg2YWExYTe-71TeFdrerQ
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_PROD"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_alerting" "CD_APIGW_PROD" {
|
||||||
|
name = "CD_APIGW PROD"
|
||||||
|
management_zone = data.dynatrace_management_zone.CD_APIGW_PROD.id
|
||||||
|
rules {
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 0
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "AVAILABILITY"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 10
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "CUSTOM_ALERT"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 30
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "RESOURCE_CONTENTION"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,336 @@
|
||||||
|
# DEFINE dynatrace_dashboard.CD_APIGW_PROD.id = 39d0c476-0da6-46ec-a798-93237227d380
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_PROD"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_dashboard" "CD_APIGW_PROD" {
|
||||||
|
dashboard_metadata {
|
||||||
|
name = "CD_APIGW PROD"
|
||||||
|
owner = "Ignacio.Goldman@partner.bmwgroup.com"
|
||||||
|
# preset = false
|
||||||
|
shared = true
|
||||||
|
tags = [ "APIGW" ]
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"popularity": 1
|
||||||
|
})
|
||||||
|
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_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 = [ "Component:APIGW", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_PROD.id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Overall Health"
|
||||||
|
configured = true
|
||||||
|
tile_type = "HEADER"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 38
|
||||||
|
left = 38
|
||||||
|
top = 0
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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_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 = [ "Component:APIGW", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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_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 = [ "Component:APIGW", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = ""
|
||||||
|
chart_visible = true
|
||||||
|
configured = true
|
||||||
|
tile_type = "SERVICES"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 342
|
||||||
|
top = 38
|
||||||
|
width = 190
|
||||||
|
}
|
||||||
|
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 = [ "Component:APIGW", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = ""
|
||||||
|
chart_visible = true
|
||||||
|
configured = true
|
||||||
|
tile_type = "HOSTS"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 38
|
||||||
|
top = 38
|
||||||
|
width = 190
|
||||||
|
}
|
||||||
|
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 = [ "Component:APIGW", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# DEFINE dynatrace_dashboard_sharing.CD_APIGW_PROD.id = 39d0c476-0da6-46ec-a798-93237227d380
|
||||||
|
resource "dynatrace_dashboard_sharing" "CD_APIGW_PROD" {
|
||||||
|
enabled = true
|
||||||
|
dashboard_id = dynatrace_dashboard.CD_APIGW_PROD.id
|
||||||
|
# preset = false
|
||||||
|
permissions {
|
||||||
|
permission {
|
||||||
|
type = "ALL"
|
||||||
|
level = "VIEW"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,232 @@
|
||||||
|
# DEFINE dynatrace_management_zone.CD_APIGW.id = 8505678630142971659
|
||||||
|
resource "dynatrace_management_zone" "CD_APIGW" {
|
||||||
|
name = "CD_APIGW"
|
||||||
|
rules {
|
||||||
|
type = "SERVICE"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "SERVICE_TO_HOST_LIKE", "SERVICE_TO_PROCESS_GROUP_LIKE" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "HealthResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PingResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PrometheusResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-APP"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "SERVICE"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "SERVICE_TO_HOST_LIKE", "SERVICE_TO_PROCESS_GROUP_LIKE" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "HealthResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PingResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PrometheusResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-WS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "SERVICE"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "SERVICE_TO_HOST_LIKE", "SERVICE_TO_PROCESS_GROUP_LIKE" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "HealthResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PingResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PrometheusResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "Service Gateway Legacy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "PROCESS_GROUP"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "PROCESS_GROUP_TO_HOST" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-APP"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "PROCESS_GROUP"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "PROCESS_GROUP_TO_HOST" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-WS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "PROCESS_GROUP"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "PROCESS_GROUP_TO_HOST" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "Service Gateway Legacy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
# DEFINE dynatrace_alerting.CD_APIGW_INT.id = vu9U3hXa3q0AAAABABhidWlsdGluOmFsZXJ0aW5nLnByb2ZpbGUABnRlbmFudAAGdGVuYW50ACRlMTM3YjQ3Mi00NDIzLTNlNTUtODZlMi04M2MxZTRjOGVkNmO-71TeFdrerQ
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_INT"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_alerting" "CD_APIGW_INT" {
|
||||||
|
name = "CD_APIGW INT"
|
||||||
|
management_zone = data.dynatrace_management_zone.CD_APIGW_INT.id
|
||||||
|
rules {
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 0
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "AVAILABILITY"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 10
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "CUSTOM_ALERT"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 30
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "RESOURCE_CONTENTION"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
# DEFINE dynatrace_alerting.CD_APIGW_PROD.id = vu9U3hXa3q0AAAABABhidWlsdGluOmFsZXJ0aW5nLnByb2ZpbGUABnRlbmFudAAGdGVuYW50ACRhMGM0YmFiOS0wM2Y3LTNmOWQtYWUwNy1lZjlmYTU2NGY5OWO-71TeFdrerQ
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_PROD"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_alerting" "CD_APIGW_PROD" {
|
||||||
|
name = "CD_APIGW PROD"
|
||||||
|
management_zone = data.dynatrace_management_zone.CD_APIGW_PROD.id
|
||||||
|
rules {
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 0
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "AVAILABILITY"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 10
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "CUSTOM_ALERT"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 30
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "RESOURCE_CONTENTION"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,336 @@
|
||||||
|
# DEFINE dynatrace_dashboard.CD_APIGW_Application_Server_Overview.id = ac8a5eeb-cd85-4f93-a202-202c13b642ab
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_Application_Server_Overview"{ name="CD_analytics-user-data-service" }
|
||||||
|
resource "dynatrace_dashboard" "CD_APIGW_Application_Server_Overview" {
|
||||||
|
dashboard_metadata {
|
||||||
|
name = "CD_APIGW Application Server Overview"
|
||||||
|
owner = "Ignacio.Goldman@partner.bmwgroup.com"
|
||||||
|
preset = true
|
||||||
|
shared = true
|
||||||
|
tags = [ "Template" ]
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Custom chart"
|
||||||
|
configured = true
|
||||||
|
tile_type = "CUSTOM_CHARTING"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 304
|
||||||
|
left = 38
|
||||||
|
top = 38
|
||||||
|
width = 1216
|
||||||
|
}
|
||||||
|
filter_config {
|
||||||
|
type = "MIXED"
|
||||||
|
custom_name = "Response time, Throughput 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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Custom chart"
|
||||||
|
configured = true
|
||||||
|
tile_type = "CUSTOM_CHARTING"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 304
|
||||||
|
left = 38
|
||||||
|
top = 342
|
||||||
|
width = 304
|
||||||
|
}
|
||||||
|
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 = "#ef651f"
|
||||||
|
key = "nullbuiltin:service.errors.fivexx.rate|AVG|TOTAL|BAR|SERVICE"
|
||||||
|
last_modified = 1595276148986
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Markdown"
|
||||||
|
configured = true
|
||||||
|
markdown =<<-EOT
|
||||||
|
[Top Web Requests](https://vse69518.sprint.dynatracelabs.com/#topglobalwebrequests;gtf=l_2_HOURS;gf=all)
|
||||||
|
|
||||||
|
[Top database statements](https://vse69518.sprint.dynatracelabs.com/#topdbstatements;gtf=l_2_HOURS;gf=all)
|
||||||
|
|
||||||
|
[Overview of captured exceptions](https://vse69518.sprint.dynatracelabs.com/#exceptionsoverview;gtf=l_2_HOURS;gf=all)
|
||||||
|
EOT
|
||||||
|
tile_type = "MARKDOWN"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 114
|
||||||
|
left = 38
|
||||||
|
top = 684
|
||||||
|
width = 304
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Host health"
|
||||||
|
chart_visible = true
|
||||||
|
configured = true
|
||||||
|
tile_type = "HOSTS"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 304
|
||||||
|
left = 646
|
||||||
|
top = 342
|
||||||
|
width = 304
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Service health"
|
||||||
|
chart_visible = true
|
||||||
|
configured = true
|
||||||
|
tile_type = "SERVICES"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 304
|
||||||
|
left = 342
|
||||||
|
top = 342
|
||||||
|
width = 304
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Database health"
|
||||||
|
chart_visible = true
|
||||||
|
configured = true
|
||||||
|
tile_type = "DATABASES_OVERVIEW"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 304
|
||||||
|
left = 950
|
||||||
|
top = 342
|
||||||
|
width = 304
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Problems"
|
||||||
|
configured = true
|
||||||
|
tile_type = "OPEN_PROBLEMS"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 1102
|
||||||
|
top = 646
|
||||||
|
width = 152
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Markdown"
|
||||||
|
configured = true
|
||||||
|
markdown = "Response time (line, left axis), number of requests (blue bars, right axis) and number of errors (red bars, right axis)."
|
||||||
|
tile_type = "MARKDOWN"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 304
|
||||||
|
left = 1254
|
||||||
|
top = 38
|
||||||
|
width = 152
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Custom chart"
|
||||||
|
configured = true
|
||||||
|
tile_type = "CUSTOM_CHARTING"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 304
|
||||||
|
left = 38
|
||||||
|
top = 836
|
||||||
|
width = 1216
|
||||||
|
}
|
||||||
|
filter_config {
|
||||||
|
type = "MIXED"
|
||||||
|
custom_name = "Response time, Throughput and Number of Errors"
|
||||||
|
default_name = "Custom chart"
|
||||||
|
chart_config {
|
||||||
|
type = "TIMESERIES"
|
||||||
|
legend = true
|
||||||
|
result_metadata {
|
||||||
|
config {
|
||||||
|
custom_color = "#008cdb"
|
||||||
|
key = "nullbuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE"
|
||||||
|
last_modified = 1613393764720
|
||||||
|
}
|
||||||
|
config {
|
||||||
|
custom_color = "#7c38a1"
|
||||||
|
key = "SERVICE-B906ECBFB2BD723B¦SERVICE»SERVICE-B906ECBFB2BD723B»truebuiltin:service.response.time|AVG|TOTAL|LINE|SERVICE"
|
||||||
|
last_modified = 1613393828759
|
||||||
|
}
|
||||||
|
config {
|
||||||
|
custom_color = "#debbf3"
|
||||||
|
key = "nullbuiltin:service.requestCount.total|NONE|TOTAL|BAR|SERVICE"
|
||||||
|
last_modified = 1613393762483
|
||||||
|
}
|
||||||
|
config {
|
||||||
|
custom_color = "#ff0000"
|
||||||
|
key = "SERVICE-B906ECBFB2BD723B¦SERVICE»SERVICE-B906ECBFB2BD723B»truebuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE"
|
||||||
|
last_modified = 1613393834140
|
||||||
|
}
|
||||||
|
config {
|
||||||
|
custom_color = "#ff0000"
|
||||||
|
key = "nullbuiltin:service.errors.total.count|NONE|TOTAL|BAR|SERVICE"
|
||||||
|
last_modified = 1613393770444
|
||||||
|
}
|
||||||
|
}
|
||||||
|
series {
|
||||||
|
type = "LINE"
|
||||||
|
aggregation = "AVG"
|
||||||
|
aggregation_rate = "TOTAL"
|
||||||
|
entity_type = "SERVICE"
|
||||||
|
metric = "builtin:service.response.time"
|
||||||
|
# sort_ascending = false
|
||||||
|
# sort_column = false
|
||||||
|
dimension {
|
||||||
|
name = "dt.entity.service"
|
||||||
|
entity_dimension = true
|
||||||
|
id = "0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
series {
|
||||||
|
type = "BAR"
|
||||||
|
aggregation = "NONE"
|
||||||
|
aggregation_rate = "TOTAL"
|
||||||
|
entity_type = "SERVICE"
|
||||||
|
metric = "builtin:service.requestCount.total"
|
||||||
|
# sort_ascending = false
|
||||||
|
# sort_column = false
|
||||||
|
dimension {
|
||||||
|
name = "dt.entity.service"
|
||||||
|
entity_dimension = true
|
||||||
|
id = "0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
series {
|
||||||
|
type = "BAR"
|
||||||
|
aggregation = "NONE"
|
||||||
|
aggregation_rate = "TOTAL"
|
||||||
|
entity_type = "SERVICE"
|
||||||
|
metric = "builtin:service.errors.total.count"
|
||||||
|
# sort_ascending = false
|
||||||
|
sort_column = true
|
||||||
|
dimension {
|
||||||
|
name = "dt.entity.service"
|
||||||
|
entity_dimension = true
|
||||||
|
id = "0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
filters {
|
||||||
|
filter {
|
||||||
|
entity_type = "SERVICE"
|
||||||
|
match {
|
||||||
|
key = "SPECIFIC_ENTITIES"
|
||||||
|
values = [ "SERVICE-B906ECBFB2BD723B" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "RouterService"
|
||||||
|
configured = true
|
||||||
|
tile_type = "HEADER"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 38
|
||||||
|
left = 38
|
||||||
|
top = 798
|
||||||
|
width = 304
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,333 @@
|
||||||
|
# DEFINE dynatrace_dashboard.CD_APIGW_INT.id = 038bb8d8-9845-4383-af9e-6314ef851476
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_INT"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_dashboard" "CD_APIGW_INT" {
|
||||||
|
dashboard_metadata {
|
||||||
|
name = "CD_APIGW INT"
|
||||||
|
owner = "Ignacio.Goldman@partner.bmwgroup.com"
|
||||||
|
# preset = false
|
||||||
|
shared = true
|
||||||
|
tags = [ "APIGW" ]
|
||||||
|
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_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 = [ "Component:APIGW", "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_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_INT.id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Overall Health"
|
||||||
|
configured = true
|
||||||
|
tile_type = "HEADER"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 38
|
||||||
|
left = 38
|
||||||
|
top = 0
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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_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 = [ "Component:APIGW", "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_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 = [ "Component:APIGW", "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_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 = [ "Component:APIGW", "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_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 = [ "Component:APIGW", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# DEFINE dynatrace_dashboard_sharing.CD_APIGW_INT.id = 038bb8d8-9845-4383-af9e-6314ef851476
|
||||||
|
resource "dynatrace_dashboard_sharing" "CD_APIGW_INT" {
|
||||||
|
enabled = true
|
||||||
|
dashboard_id = dynatrace_dashboard.CD_APIGW_INT.id
|
||||||
|
# preset = false
|
||||||
|
permissions {
|
||||||
|
permission {
|
||||||
|
type = "ALL"
|
||||||
|
level = "VIEW"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,333 @@
|
||||||
|
# DEFINE dynatrace_dashboard.CD_APIGW_TEST.id = 6b99e077-9add-4e7b-b40e-04fd9d7a9f4e
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_TEST"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_dashboard" "CD_APIGW_TEST" {
|
||||||
|
dashboard_metadata {
|
||||||
|
name = "CD_APIGW TEST"
|
||||||
|
owner = "Ignacio.Goldman@partner.bmwgroup.com"
|
||||||
|
# preset = false
|
||||||
|
shared = true
|
||||||
|
tags = [ "APIGW" ]
|
||||||
|
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_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 = [ "Component:APIGW", "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_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_TEST.id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Overall Health"
|
||||||
|
configured = true
|
||||||
|
tile_type = "HEADER"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 38
|
||||||
|
left = 38
|
||||||
|
top = 0
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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_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 = [ "Component:APIGW", "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_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 = [ "Component:APIGW", "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_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 = [ "Component:APIGW", "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_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 = [ "Component:APIGW", "Environment:TEST" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# DEFINE dynatrace_dashboard_sharing.CD_APIGW_TEST.id = 6b99e077-9add-4e7b-b40e-04fd9d7a9f4e
|
||||||
|
resource "dynatrace_dashboard_sharing" "CD_APIGW_TEST" {
|
||||||
|
enabled = true
|
||||||
|
dashboard_id = dynatrace_dashboard.CD_APIGW_TEST.id
|
||||||
|
# preset = false
|
||||||
|
permissions {
|
||||||
|
permission {
|
||||||
|
type = "ALL"
|
||||||
|
level = "VIEW"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,216 @@
|
||||||
|
# DEFINE dynatrace_dashboard.CD_APIGW_Webserver_Overview.id = 7ff9f94a-e623-4bf8-a830-701a07e13e54
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_Webserver_Overview"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_dashboard" "CD_APIGW_Webserver_Overview" {
|
||||||
|
dashboard_metadata {
|
||||||
|
name = "CD_APIGW Webserver Overview"
|
||||||
|
owner = "Ignacio.Goldman@partner.bmwgroup.com"
|
||||||
|
preset = true
|
||||||
|
shared = true
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Custom chart"
|
||||||
|
configured = true
|
||||||
|
tile_type = "CUSTOM_CHARTING"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 494
|
||||||
|
left = 0
|
||||||
|
top = 0
|
||||||
|
width = 988
|
||||||
|
}
|
||||||
|
filter_config {
|
||||||
|
type = "MIXED"
|
||||||
|
custom_name = "Total Response time and Response count"
|
||||||
|
default_name = "Custom chart"
|
||||||
|
chart_config {
|
||||||
|
type = "TIMESERIES"
|
||||||
|
legend = true
|
||||||
|
result_metadata {
|
||||||
|
config {
|
||||||
|
custom_color = "#00ff00"
|
||||||
|
key = "null¦Dimension»200»falsecalc:service.api_gw_byhttpstatus|NONE|TOTAL|BAR|SERVICE|SERVICE¿¿¿Dimensionɵfalse"
|
||||||
|
last_modified = 1610972474646
|
||||||
|
}
|
||||||
|
config {
|
||||||
|
custom_color = "#ff0000"
|
||||||
|
key = "null¦Dimension»500»falsecalc:service.api_gw_byhttpstatus|NONE|TOTAL|BAR|SERVICE|SERVICE¿¿¿Dimensionɵfalse"
|
||||||
|
last_modified = 1610972483074
|
||||||
|
}
|
||||||
|
}
|
||||||
|
series {
|
||||||
|
type = "BAR"
|
||||||
|
aggregation = "NONE"
|
||||||
|
aggregation_rate = "TOTAL"
|
||||||
|
entity_type = "SERVICE"
|
||||||
|
metric = "calc:service.api_gw_byhttpstatus"
|
||||||
|
# sort_ascending = false
|
||||||
|
# sort_column = false
|
||||||
|
dimension {
|
||||||
|
name = "Dimension"
|
||||||
|
# entity_dimension = false
|
||||||
|
id = "1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
series {
|
||||||
|
type = "LINE"
|
||||||
|
aggregation = "PERCENTILE"
|
||||||
|
aggregation_rate = "TOTAL"
|
||||||
|
entity_type = "SERVICE"
|
||||||
|
metric = "builtin:service.response.time"
|
||||||
|
percentile = 95
|
||||||
|
# sort_ascending = false
|
||||||
|
# sort_column = false
|
||||||
|
}
|
||||||
|
series {
|
||||||
|
type = "LINE"
|
||||||
|
aggregation = "AVG"
|
||||||
|
aggregation_rate = "TOTAL"
|
||||||
|
entity_type = "SERVICE"
|
||||||
|
metric = "builtin:service.response.time"
|
||||||
|
# sort_ascending = false
|
||||||
|
# sort_column = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Custom chart"
|
||||||
|
configured = true
|
||||||
|
tile_type = "CUSTOM_CHARTING"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 494
|
||||||
|
left = 988
|
||||||
|
top = 0
|
||||||
|
width = 456
|
||||||
|
}
|
||||||
|
filter_config {
|
||||||
|
type = "MIXED"
|
||||||
|
custom_name = "http Response Code Distribution "
|
||||||
|
default_name = "Custom chart"
|
||||||
|
chart_config {
|
||||||
|
type = "PIE"
|
||||||
|
legend = true
|
||||||
|
result_metadata {
|
||||||
|
config {
|
||||||
|
custom_color = "#00ff00"
|
||||||
|
key = "null¦Dimension»200»falsecalc:service.api_gw_byhttpstatus|NONE|TOTAL|BAR|SERVICE"
|
||||||
|
last_modified = 1610972583848
|
||||||
|
}
|
||||||
|
config {
|
||||||
|
custom_color = "#00ff00"
|
||||||
|
key = "null¦Dimension»200»falsecalc:service.api_gw_byhttpstatus|NONE|TOTAL|BAR|SERVICE|SERVICE¿¿¿Dimensionɵfalse"
|
||||||
|
last_modified = 1610972474646
|
||||||
|
}
|
||||||
|
config {
|
||||||
|
custom_color = "#ff0000"
|
||||||
|
key = "null¦Dimension»500»falsecalc:service.api_gw_byhttpstatus|NONE|TOTAL|BAR|SERVICE|SERVICE¿¿¿Dimensionɵfalse"
|
||||||
|
last_modified = 1610972483074
|
||||||
|
}
|
||||||
|
}
|
||||||
|
series {
|
||||||
|
type = "BAR"
|
||||||
|
aggregation = "NONE"
|
||||||
|
aggregation_rate = "TOTAL"
|
||||||
|
entity_type = "SERVICE"
|
||||||
|
metric = "calc:service.api_gw_byhttpstatus"
|
||||||
|
# sort_ascending = false
|
||||||
|
sort_column = true
|
||||||
|
dimension {
|
||||||
|
name = "Dimension"
|
||||||
|
# entity_dimension = false
|
||||||
|
id = "1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Problems"
|
||||||
|
configured = true
|
||||||
|
tile_type = "OPEN_PROBLEMS"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 1292
|
||||||
|
top = 494
|
||||||
|
width = 152
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = ""
|
||||||
|
chart_visible = true
|
||||||
|
configured = true
|
||||||
|
tile_type = "SERVICES"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 190
|
||||||
|
left = 912
|
||||||
|
top = 494
|
||||||
|
width = 190
|
||||||
|
}
|
||||||
|
filter_config {
|
||||||
|
type = "SERVICE"
|
||||||
|
custom_name = "Services"
|
||||||
|
default_name = "Services"
|
||||||
|
chart_config {
|
||||||
|
type = "TIMESERIES"
|
||||||
|
legend = true
|
||||||
|
}
|
||||||
|
filters {
|
||||||
|
filter {
|
||||||
|
entity_type = "SERVICE"
|
||||||
|
match {
|
||||||
|
key = "NAME"
|
||||||
|
values = [ "int-api" ]
|
||||||
|
}
|
||||||
|
match {
|
||||||
|
key = "SERVICE_TYPE"
|
||||||
|
values = [ "1" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = ""
|
||||||
|
chart_visible = true
|
||||||
|
configured = true
|
||||||
|
tile_type = "HOSTS"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 190
|
||||||
|
left = 1102
|
||||||
|
top = 494
|
||||||
|
width = 190
|
||||||
|
}
|
||||||
|
filter_config {
|
||||||
|
type = "HOST"
|
||||||
|
custom_name = "Hosts"
|
||||||
|
default_name = "Hosts"
|
||||||
|
chart_config {
|
||||||
|
type = "TIMESERIES"
|
||||||
|
legend = true
|
||||||
|
}
|
||||||
|
filters {
|
||||||
|
filter {
|
||||||
|
entity_type = "HOST"
|
||||||
|
match {
|
||||||
|
key = "NAME"
|
||||||
|
values = [ "li" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,232 @@
|
||||||
|
# DEFINE dynatrace_management_zone.CD_APIGW.id = -4304321345446423873
|
||||||
|
resource "dynatrace_management_zone" "CD_APIGW" {
|
||||||
|
name = "CD_APIGW"
|
||||||
|
rules {
|
||||||
|
type = "SERVICE"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "SERVICE_TO_HOST_LIKE", "SERVICE_TO_PROCESS_GROUP_LIKE" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "HealthResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PingResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PrometheusResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-APP"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "SERVICE"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "SERVICE_TO_HOST_LIKE", "SERVICE_TO_PROCESS_GROUP_LIKE" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "HealthResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PingResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PrometheusResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-WS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "SERVICE"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "SERVICE_TO_HOST_LIKE", "SERVICE_TO_PROCESS_GROUP_LIKE" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "HealthResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PingResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PrometheusResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "Service Gateway Legacy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "PROCESS_GROUP"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "PROCESS_GROUP_TO_HOST" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-APP"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "PROCESS_GROUP"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "PROCESS_GROUP_TO_HOST" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-WS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "PROCESS_GROUP"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "PROCESS_GROUP_TO_HOST" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "Service Gateway Legacy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
# DEFINE dynatrace_alerting.CD_APIGW_INT.id = vu9U3hXa3q0AAAABABhidWlsdGluOmFsZXJ0aW5nLnByb2ZpbGUABnRlbmFudAAGdGVuYW50ACQ0YTMwOGU5My1jM2U3LTMxY2QtYjk4YS1mODU2ZmI4MmQ5YjG-71TeFdrerQ
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_INT"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_alerting" "CD_APIGW_INT" {
|
||||||
|
name = "CD_APIGW INT"
|
||||||
|
management_zone = data.dynatrace_management_zone.CD_APIGW_INT.id
|
||||||
|
rules {
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 0
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "AVAILABILITY"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 10
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "CUSTOM_ALERT"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 30
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "RESOURCE_CONTENTION"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:INT" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
# DEFINE dynatrace_alerting.CD_APIGW_PROD.id = vu9U3hXa3q0AAAABABhidWlsdGluOmFsZXJ0aW5nLnByb2ZpbGUABnRlbmFudAAGdGVuYW50ACQzMjVjYTU4Yi00YzA5LTMxMGMtYjhkOS04NmRhODkxN2E3YWS-71TeFdrerQ
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_PROD"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_alerting" "CD_APIGW_PROD" {
|
||||||
|
name = "CD_APIGW PROD"
|
||||||
|
management_zone = data.dynatrace_management_zone.CD_APIGW_PROD.id
|
||||||
|
rules {
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 0
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "AVAILABILITY"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 10
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "CUSTOM_ALERT"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
rule {
|
||||||
|
delay_in_minutes = 30
|
||||||
|
include_mode = "INCLUDE_ALL"
|
||||||
|
severity_level = "RESOURCE_CONTENTION"
|
||||||
|
tags = [ "Component:APIGW-WS", "Environment:PROD" ]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,351 @@
|
||||||
|
# DEFINE dynatrace_dashboard.CD_APIGW_PROD.id = 942bcae7-e9bc-480f-a3a9-a04ca8c51c44
|
||||||
|
data "dynatrace_management_zone" "CD_APIGW_PROD"{ name="CD_APIGW" }
|
||||||
|
resource "dynatrace_dashboard" "CD_APIGW_PROD" {
|
||||||
|
dashboard_metadata {
|
||||||
|
name = "CD_APIGW PROD"
|
||||||
|
owner = "Carlo.DiMastrogiovanni@partner.bmw.de"
|
||||||
|
# preset = false
|
||||||
|
shared = true
|
||||||
|
tags = [ "APIGW", "APIGW-WS" ]
|
||||||
|
filter {
|
||||||
|
timeframe = "-24h to now"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Overall Health"
|
||||||
|
configured = true
|
||||||
|
tile_type = "HEADER"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 38
|
||||||
|
left = 38
|
||||||
|
top = 0
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Host health"
|
||||||
|
chart_visible = true
|
||||||
|
configured = true
|
||||||
|
tile_type = "HOSTS"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 76
|
||||||
|
top = 38
|
||||||
|
width = 304
|
||||||
|
}
|
||||||
|
filter {
|
||||||
|
management_zone {
|
||||||
|
name = "CD_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_PROD.id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Response time, Request Count and Number of Errors"
|
||||||
|
configured = true
|
||||||
|
custom_name = "Response time, Request Count and Number of Errors"
|
||||||
|
tile_type = "DATA_EXPLORER"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false,
|
||||||
|
"metricExpressions": [
|
||||||
|
"resolution=null\u0026(builtin:service.response.time:filter(and(and(in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Component:APIGW-WS~\")\")),in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Environment:PROD~\")\"))))):splitBy():avg:auto:sort(value(avg,descending)):limit(10)):limit(100):names,(builtin:service.requestCount.total:filter(and(and(in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Environment:PROD~\")\")),in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Component:APIGW-WS~\")\"))))):splitBy():value:auto:sort(value(sum,descending)):limit(10)):limit(100):names,(builtin:service.errors.total.count:filter(and(and(in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Component:APIGW-WS~\")\")),in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Environment:PROD~\")\"))))):splitBy():value:auto:sort(value(sum,descending)):limit(10)):limit(100):names"
|
||||||
|
],
|
||||||
|
"queries": [
|
||||||
|
{
|
||||||
|
"enabled": true,
|
||||||
|
"id": "A",
|
||||||
|
"metricSelector": "builtin:service.response.time:filter(and(and(in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Component:APIGW-WS~\")\")),in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Environment:PROD~\")\"))))):splitBy():avg:auto:sort(value(avg,descending)):limit(10)",
|
||||||
|
"rate": "NONE",
|
||||||
|
"splitBy": [],
|
||||||
|
"timeAggregation": "DEFAULT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"enabled": true,
|
||||||
|
"id": "B",
|
||||||
|
"metricSelector": "builtin:service.requestCount.total:filter(and(and(in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Environment:PROD~\")\")),in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Component:APIGW-WS~\")\"))))):splitBy():value:auto:sort(value(sum,descending)):limit(10)",
|
||||||
|
"rate": "NONE",
|
||||||
|
"splitBy": [],
|
||||||
|
"timeAggregation": "DEFAULT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"enabled": true,
|
||||||
|
"id": "C",
|
||||||
|
"metricSelector": "builtin:service.errors.total.count:filter(and(and(in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Component:APIGW-WS~\")\")),in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Environment:PROD~\")\"))))):splitBy():value:auto:sort(value(sum,descending)):limit(10)",
|
||||||
|
"rate": "NONE",
|
||||||
|
"splitBy": [],
|
||||||
|
"timeAggregation": "DEFAULT"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"visualConfig": {
|
||||||
|
"axes": {
|
||||||
|
"xAxis": {
|
||||||
|
"displayName": "",
|
||||||
|
"visible": true
|
||||||
|
},
|
||||||
|
"yAxes": [
|
||||||
|
{
|
||||||
|
"defaultAxis": true,
|
||||||
|
"displayName": "",
|
||||||
|
"max": "AUTO",
|
||||||
|
"min": "AUTO",
|
||||||
|
"position": "LEFT",
|
||||||
|
"queryIds": [
|
||||||
|
"A"
|
||||||
|
],
|
||||||
|
"visible": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"defaultAxis": true,
|
||||||
|
"displayName": "",
|
||||||
|
"max": "AUTO",
|
||||||
|
"min": "AUTO",
|
||||||
|
"position": "RIGHT",
|
||||||
|
"queryIds": [
|
||||||
|
"B",
|
||||||
|
"C"
|
||||||
|
],
|
||||||
|
"visible": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"global": {
|
||||||
|
"hideLegend": false
|
||||||
|
},
|
||||||
|
"graphChartSettings": {
|
||||||
|
"connectNulls": false
|
||||||
|
},
|
||||||
|
"heatmapSettings": {
|
||||||
|
"yAxis": "VALUE"
|
||||||
|
},
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"matcher": "A:",
|
||||||
|
"properties": {
|
||||||
|
"color": "DEFAULT",
|
||||||
|
"seriesType": "LINE"
|
||||||
|
},
|
||||||
|
"seriesOverrides": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": "B:",
|
||||||
|
"properties": {
|
||||||
|
"color": "DEFAULT",
|
||||||
|
"seriesType": "COLUMN"
|
||||||
|
},
|
||||||
|
"seriesOverrides": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": "C:",
|
||||||
|
"properties": {
|
||||||
|
"color": "DEFAULT",
|
||||||
|
"seriesType": "COLUMN"
|
||||||
|
},
|
||||||
|
"seriesOverrides": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tableSettings": {},
|
||||||
|
"thresholds": [
|
||||||
|
{
|
||||||
|
"axisTarget": "LEFT",
|
||||||
|
"queryId": "",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"color": "#7dc540"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"color": "#f5d30f"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"color": "#dc172a"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"visible": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "GRAPH_CHART"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 304
|
||||||
|
left = 38
|
||||||
|
top = 570
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
filter {
|
||||||
|
management_zone {
|
||||||
|
name = "CD_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_PROD.id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Failure rate (HTTP 4xx/5xx errors)"
|
||||||
|
configured = true
|
||||||
|
custom_name = "Failure rate (HTTP 4xx/5xx errors)"
|
||||||
|
tile_type = "DATA_EXPLORER"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false,
|
||||||
|
"metricExpressions": [
|
||||||
|
"resolution=null\u0026(builtin:service.errors.fourxx.rate:filter(and(and(in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Component:APIGW-WS~\")\")),in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Environment:PROD~\")\"))))):splitBy():avg:auto:sort(value(avg,descending)):limit(10)):limit(100):names,(builtin:service.errors.fivexx.rate:filter(and(and(in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Environment:PROD~\")\")),in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Component:APIGW-WS~\")\"))))):splitBy():avg:auto:sort(value(avg,descending)):limit(10)):limit(100):names"
|
||||||
|
],
|
||||||
|
"queries": [
|
||||||
|
{
|
||||||
|
"enabled": true,
|
||||||
|
"id": "A",
|
||||||
|
"metricSelector": "builtin:service.errors.fourxx.rate:filter(and(and(in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Component:APIGW-WS~\")\")),in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Environment:PROD~\")\"))))):splitBy():avg:auto:sort(value(avg,descending)):limit(10)",
|
||||||
|
"rate": "NONE",
|
||||||
|
"splitBy": [],
|
||||||
|
"timeAggregation": "DEFAULT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"enabled": true,
|
||||||
|
"id": "B",
|
||||||
|
"metricSelector": "builtin:service.errors.fivexx.rate:filter(and(and(in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Environment:PROD~\")\")),in(\"dt.entity.service\",entitySelector(\"type(service),tag(~\"Component:APIGW-WS~\")\"))))):splitBy():avg:auto:sort(value(avg,descending)):limit(10)",
|
||||||
|
"rate": "NONE",
|
||||||
|
"splitBy": [],
|
||||||
|
"timeAggregation": "DEFAULT"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"visualConfig": {
|
||||||
|
"axes": {
|
||||||
|
"xAxis": {
|
||||||
|
"displayName": "",
|
||||||
|
"visible": true
|
||||||
|
},
|
||||||
|
"yAxes": [
|
||||||
|
{
|
||||||
|
"defaultAxis": true,
|
||||||
|
"displayName": "",
|
||||||
|
"max": "AUTO",
|
||||||
|
"min": "AUTO",
|
||||||
|
"position": "LEFT",
|
||||||
|
"queryIds": [
|
||||||
|
"A",
|
||||||
|
"B"
|
||||||
|
],
|
||||||
|
"visible": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"global": {
|
||||||
|
"hideLegend": false
|
||||||
|
},
|
||||||
|
"graphChartSettings": {
|
||||||
|
"connectNulls": false
|
||||||
|
},
|
||||||
|
"heatmapSettings": {
|
||||||
|
"yAxis": "VALUE"
|
||||||
|
},
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"matcher": "A:",
|
||||||
|
"properties": {
|
||||||
|
"color": "DEFAULT",
|
||||||
|
"seriesType": "COLUMN"
|
||||||
|
},
|
||||||
|
"seriesOverrides": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matcher": "B:",
|
||||||
|
"properties": {
|
||||||
|
"color": "DEFAULT",
|
||||||
|
"seriesType": "COLUMN"
|
||||||
|
},
|
||||||
|
"seriesOverrides": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"tableSettings": {},
|
||||||
|
"thresholds": [
|
||||||
|
{
|
||||||
|
"axisTarget": "LEFT",
|
||||||
|
"queryId": "",
|
||||||
|
"rules": [
|
||||||
|
{
|
||||||
|
"color": "#7dc540"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"color": "#f5d30f"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"color": "#dc172a"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"visible": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "GRAPH_CHART"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 304
|
||||||
|
left = 38
|
||||||
|
top = 228
|
||||||
|
width = 1064
|
||||||
|
}
|
||||||
|
filter {
|
||||||
|
management_zone {
|
||||||
|
name = "CD_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_PROD.id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Service health"
|
||||||
|
chart_visible = true
|
||||||
|
configured = true
|
||||||
|
tile_type = "SERVICES"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 494
|
||||||
|
top = 38
|
||||||
|
width = 304
|
||||||
|
}
|
||||||
|
filter {
|
||||||
|
management_zone {
|
||||||
|
name = "CD_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_PROD.id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tile {
|
||||||
|
name = "Problems"
|
||||||
|
configured = true
|
||||||
|
tile_type = "OPEN_PROBLEMS"
|
||||||
|
unknowns = jsonencode({
|
||||||
|
"isAutoRefreshDisabled": false
|
||||||
|
})
|
||||||
|
bounds {
|
||||||
|
height = 152
|
||||||
|
left = 912
|
||||||
|
top = 38
|
||||||
|
width = 152
|
||||||
|
}
|
||||||
|
filter {
|
||||||
|
management_zone {
|
||||||
|
name = "CD_APIGW"
|
||||||
|
id = data.dynatrace_management_zone.CD_APIGW_PROD.id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# DEFINE dynatrace_dashboard_sharing.CD_APIGW_PROD.id = 942bcae7-e9bc-480f-a3a9-a04ca8c51c44
|
||||||
|
resource "dynatrace_dashboard_sharing" "CD_APIGW_PROD" {
|
||||||
|
enabled = true
|
||||||
|
dashboard_id = dynatrace_dashboard.CD_APIGW_PROD.id
|
||||||
|
# preset = false
|
||||||
|
permissions {
|
||||||
|
permission {
|
||||||
|
type = "ALL"
|
||||||
|
level = "VIEW"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,232 @@
|
||||||
|
# DEFINE dynatrace_management_zone.CD_APIGW.id = 1449303990270766173
|
||||||
|
resource "dynatrace_management_zone" "CD_APIGW" {
|
||||||
|
name = "CD_APIGW"
|
||||||
|
rules {
|
||||||
|
type = "SERVICE"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "SERVICE_TO_HOST_LIKE", "SERVICE_TO_PROCESS_GROUP_LIKE" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "HealthResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PingResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PrometheusResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-APP"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "SERVICE"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "SERVICE_TO_HOST_LIKE", "SERVICE_TO_PROCESS_GROUP_LIKE" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "HealthResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PingResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PrometheusResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-WS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "SERVICE"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "SERVICE_TO_HOST_LIKE", "SERVICE_TO_PROCESS_GROUP_LIKE" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "HealthResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PingResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_NAME"
|
||||||
|
}
|
||||||
|
string {
|
||||||
|
case_sensitive = true
|
||||||
|
negate = true
|
||||||
|
operator = "CONTAINS"
|
||||||
|
value = "PrometheusResource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "SERVICE_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "Service Gateway Legacy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "PROCESS_GROUP"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "PROCESS_GROUP_TO_HOST" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-APP"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "PROCESS_GROUP"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "PROCESS_GROUP_TO_HOST" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "APIGW-WS"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rules {
|
||||||
|
type = "PROCESS_GROUP"
|
||||||
|
enabled = true
|
||||||
|
propagation_types = [ "PROCESS_GROUP_TO_HOST" ]
|
||||||
|
conditions {
|
||||||
|
key {
|
||||||
|
type = "STATIC"
|
||||||
|
attribute = "PROCESS_GROUP_TAGS"
|
||||||
|
}
|
||||||
|
tag {
|
||||||
|
# negate = false
|
||||||
|
operator = "EQUALS"
|
||||||
|
value {
|
||||||
|
context = "CONTEXTLESS"
|
||||||
|
key = "Component"
|
||||||
|
value = "Service Gateway Legacy"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue