Compare commits
6 Commits
CD_tol-tss
...
CD_APIGW
| Author | SHA1 | Date |
|---|---|---|
|
|
c0eb962427 | |
|
|
9493f8cee6 | |
|
|
397d673aef | |
|
|
2ec81764f5 | |
|
|
148a6732a0 | |
|
|
53c2b97a32 |
|
|
@ -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