Compare commits

..

No commits in common. "230309-1459-automatedSLOGeneration" and "DK_FIX" have entirely different histories.

112 changed files with 1351 additions and 2730 deletions

View File

@ -2,7 +2,7 @@ resource "dynatrace_management_zone" "PD_AccountManagementConnectedCar" {
name = "PD_AccountManagementConnectedCar" name = "PD_AccountManagementConnectedCar"
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-ECS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")" selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-CNS\",\"compass-id:AM-ECS\",\"compass-id:AM-LMCS\",\"compass-id:AM-Proxy\",\"compass-id:AM-Store\",\"compass-id:AM-SVMS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:AM-VMS\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true

View File

@ -1,13 +1,13 @@
resource "dynatrace_management_zone" "PD_ConnectedDriveStoreBackend" { resource "dynatrace_management_zone" "PD_ConnectedDriveStoreBackend" {
name = "PD_ConnectedDriveStoreBackend" name = "PD_ConnectedDriveStoreBackend"
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"Component:am-store\",\"compass-id:AM-Store\")"
}
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:buffet-if56\",\"compass-id:Buffet-Birt\",\"compass-id:Buffet-CIC-Backend\",\"compass-id:Buffet-Core\",\"compass-id:Buffet-External-CDM\",\"compass-id:Buffet-External-Offer\",\"compass-id:Buffet-External-Payment\",\"compass-id:Buffet-External-Tax\",\"compass-id:Buffet-GAM\",\"compass-id:Buffet-IF33\",\"compass-id:Buffet-IF38\",\"compass-id:Buffet-IF41\",\"compass-id:Buffet-IF50\",\"compass-id:Buffet-IF51\",\"compass-id:Buffet-IF52\",\"compass-id:Buffet-IF53\",\"compass-id:Buffet-IF54\",\"compass-id:Buffet-IF58\",\"compass-id:Buffet-IF60\",\"compass-id:Buffet-IF90\",\"compass-id:Buffet-Promo-API\",\"compass-id:IME-CDS\",\"compass-id:IME-CS\",\"compass-id:IME-RDC\",\"compass-id:IME-SS\",\"compass-id:IME-WS\")" selector = "type(Service),tag(\"compass-id:buffet-if56\",\"compass-id:Buffet-Birt\",\"compass-id:Buffet-CIC-Backend\",\"compass-id:Buffet-Core\",\"compass-id:Buffet-External-CDM\",\"compass-id:Buffet-External-Offer\",\"compass-id:Buffet-External-Payment\",\"compass-id:Buffet-External-Tax\",\"compass-id:Buffet-GAM\",\"compass-id:Buffet-IF33\",\"compass-id:Buffet-IF38\",\"compass-id:Buffet-IF41\",\"compass-id:Buffet-IF50\",\"compass-id:Buffet-IF51\",\"compass-id:Buffet-IF52\",\"compass-id:Buffet-IF53\",\"compass-id:Buffet-IF54\",\"compass-id:Buffet-IF58\",\"compass-id:Buffet-IF60\",\"compass-id:Buffet-IF90\",\"compass-id:Buffet-Promo-API\",\"compass-id:IME-CDS\",\"compass-id:IME-CS\",\"compass-id:IME-RDC\",\"compass-id:IME-SS\",\"compass-id:IME-WS\")"
} }
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"Component:am-store\")"
}
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:Concat\",\"compass-id:Connected-Catalog\")" selector = "type(Service),tag(\"compass-id:Concat\",\"compass-id:Connected-Catalog\")"

View File

@ -2,14 +2,14 @@ resource "dynatrace_management_zone" "PD_ConnectedUserProfileServices" {
name = "PD_ConnectedUserProfileServices" name = "PD_ConnectedUserProfileServices"
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:AM-CNS\",\"compass-id:am-config\",\"compass-id:am-lmcs\",\"compass-id:AM-Proxy\",\"compass-id:AM-SVMS\",\"compass-id:AM-VMS\",\"compass-id:MAPPING-STUB\",\"compass-id:UMS-UI\")" selector = "type(Service),tag(\"compass-id:OMC Table Storage Expiration Service\",\"compass-id:omc-client-analytics-hub-consumer-ms\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:ecsm\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")" selector = "type(Service),tag(\"compass-id:dpm\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:agent-service\")" selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")"
} }
} }

View File

@ -1,9 +1,5 @@
resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" { resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
name = "PD_InfotainmentInteractivityServices" name = "PD_InfotainmentInteractivityServices"
entity_selector_based_rule {
enabled = true
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")" selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"

View File

@ -2,7 +2,7 @@ resource "dynatrace_management_zone" "PD_AccountManagementConnectedCar" {
name = "PD_AccountManagementConnectedCar" name = "PD_AccountManagementConnectedCar"
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-ECS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")" selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-CNS\",\"compass-id:AM-ECS\",\"compass-id:AM-LMCS\",\"compass-id:AM-Proxy\",\"compass-id:AM-Store\",\"compass-id:AM-SVMS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:AM-VMS\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true

View File

@ -1,13 +1,13 @@
resource "dynatrace_management_zone" "PD_ConnectedDriveStoreBackend" { resource "dynatrace_management_zone" "PD_ConnectedDriveStoreBackend" {
name = "PD_ConnectedDriveStoreBackend" name = "PD_ConnectedDriveStoreBackend"
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"Component:am-store\",\"compass-id:AM-Store\")"
}
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:buffet-if56\",\"compass-id:Buffet-Birt\",\"compass-id:Buffet-CIC-Backend\",\"compass-id:Buffet-Core\",\"compass-id:Buffet-External-CDM\",\"compass-id:Buffet-External-Offer\",\"compass-id:Buffet-External-Payment\",\"compass-id:Buffet-External-Tax\",\"compass-id:Buffet-GAM\",\"compass-id:Buffet-IF33\",\"compass-id:Buffet-IF38\",\"compass-id:Buffet-IF41\",\"compass-id:Buffet-IF50\",\"compass-id:Buffet-IF51\",\"compass-id:Buffet-IF52\",\"compass-id:Buffet-IF53\",\"compass-id:Buffet-IF54\",\"compass-id:Buffet-IF58\",\"compass-id:Buffet-IF60\",\"compass-id:Buffet-IF90\",\"compass-id:Buffet-Promo-API\",\"compass-id:IME-CDS\",\"compass-id:IME-CS\",\"compass-id:IME-RDC\",\"compass-id:IME-SS\",\"compass-id:IME-WS\")" selector = "type(Service),tag(\"compass-id:buffet-if56\",\"compass-id:Buffet-Birt\",\"compass-id:Buffet-CIC-Backend\",\"compass-id:Buffet-Core\",\"compass-id:Buffet-External-CDM\",\"compass-id:Buffet-External-Offer\",\"compass-id:Buffet-External-Payment\",\"compass-id:Buffet-External-Tax\",\"compass-id:Buffet-GAM\",\"compass-id:Buffet-IF33\",\"compass-id:Buffet-IF38\",\"compass-id:Buffet-IF41\",\"compass-id:Buffet-IF50\",\"compass-id:Buffet-IF51\",\"compass-id:Buffet-IF52\",\"compass-id:Buffet-IF53\",\"compass-id:Buffet-IF54\",\"compass-id:Buffet-IF58\",\"compass-id:Buffet-IF60\",\"compass-id:Buffet-IF90\",\"compass-id:Buffet-Promo-API\",\"compass-id:IME-CDS\",\"compass-id:IME-CS\",\"compass-id:IME-RDC\",\"compass-id:IME-SS\",\"compass-id:IME-WS\")"
} }
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"Component:am-store\")"
}
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:Concat\",\"compass-id:Connected-Catalog\")" selector = "type(Service),tag(\"compass-id:Concat\",\"compass-id:Connected-Catalog\")"

View File

@ -2,14 +2,14 @@ resource "dynatrace_management_zone" "PD_ConnectedUserProfileServices" {
name = "PD_ConnectedUserProfileServices" name = "PD_ConnectedUserProfileServices"
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:AM-CNS\",\"compass-id:am-config\",\"compass-id:am-lmcs\",\"compass-id:AM-Proxy\",\"compass-id:AM-SVMS\",\"compass-id:AM-VMS\",\"compass-id:MAPPING-STUB\",\"compass-id:UMS-UI\")" selector = "type(Service),tag(\"compass-id:OMC Table Storage Expiration Service\",\"compass-id:omc-client-analytics-hub-consumer-ms\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:ecsm\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")" selector = "type(Service),tag(\"compass-id:dpm\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:agent-service\")" selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")"
} }
} }

View File

@ -1,9 +1,5 @@
resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" { resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
name = "PD_InfotainmentInteractivityServices" name = "PD_InfotainmentInteractivityServices"
entity_selector_based_rule {
enabled = true
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")" selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"

View File

@ -4,7 +4,7 @@ module TP_Mobile_DigitalKey {
name = "TP_Mobile_DigitalKey" name = "TP_Mobile_DigitalKey"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
@ -12,34 +12,51 @@ module TP_Mobile_DigitalKey {
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<-EOT metric_expression = <<-EOT
(100)*((1)-(builtin:service.keyRequest.errors.fivexx.count:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((1)-(builtin:service.keyRequest.errors.fivexx.count:filter(
type(~"SERVICE~"),entityName.in( and(
~"TrackApi - smc - PROD~", or(
~"digital-key-composite-service - PROD~" in(
) "dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TrackApi - smc - PROD~",
~"digital-key-composite-service - PROD~"
)
)
,entityName.in(
~"POST /smc2-bl/track/v2/trackKey~",
~"POST /smc2-bl/track/v2/manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)")
) )
,entityName.in( ))):splitBy())
~"trackKey~", /
~"manageKey~", (builtin:service.keyRequest.count.server:filter(
~"GET /api/v1/digitalkey/<VIN>/password~", and(
~"GET /api/v1/digitalkey/<VIN>/pairing~" or(
)"))))):splitBy()) in(
/ "dt.entity.service_method",
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), entitySelector(
fromRelationship.isServiceMethodOfService( "type(service_method),
type(~"SERVICE~"),entityName.in( fromRelationship.isServiceMethodOfService(
~"TrackApi - smc - PROD~", type(~"SERVICE~"),entityName.in(
~"digital-key-composite-service - PROD~" ~"TrackApi - smc - PROD~",
) ~"digital-key-composite-service - PROD~"
)
)
,entityName.in(
~"POST /smc2-bl/track/v2/trackKey~",
~"POST /smc2-bl/track/v2/manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)")
) )
,entityName.in( ))):splitBy()))
~"trackKey~", EOT
~"manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,32 +4,67 @@ module TP_Mobile_Login {
name = "TP_Mobile_Login" name = "TP_Mobile_Login"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
((builtin:service.keyRequest.errors.server.successCount:filter(
and(
or(
in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService( fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in( type(~"SERVICE~"),entityName.in(
~"btc-user-composite-service - PROD~", ~"btc-user-composite-service - PROD~",
~"btc-cn-connected-oauth-service - PROD~" ~"btc-cn-connected-oauth-service - PROD~"
) )
) )
,entityName.in( ,entityName.in(
~"GET /api/v1/presentation/profile-account~", ~"GET /api/v1/presentation/profile-account~",
~"GET /api/v2/presentation/profile-account~", ~"GET /api/v2/presentation/profile-account~",
~"POST /api/v2/presentation/profile-account~", ~"POST /api/v2/presentation/profile-account~",
~"GET /api/v1/presentation/profile-tab/contacts~", ~"GET /api/v1/presentation/profile-tab/contacts~",
~"/api/v2/cop/login/pwd~", ~"POST /api/v2/cop/login/pwd~",
~"/api/v2/cop/login/sms~", ~"POST /api/v2/cop/login/sms~",
~"/api/v2/cop/sso~", ~"POST /api/v2/cop/sso~",
~"/api/v2/cop/logout~" ~"GET /api/v1/cop/logout~"
)"))))):splitBy()) )")
EOT )
))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(
and(
or(
in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-user-composite-service - PROD~",
~"btc-cn-connected-oauth-service - PROD~"
)
)
,entityName.in(
~"GET /api/v1/presentation/profile-account~",
~"GET /api/v2/presentation/profile-account~",
~"POST /api/v2/presentation/profile-account~",
~"GET /api/v1/presentation/profile-tab/contacts~",
~"POST /api/v2/cop/login/pwd~",
~"POST /api/v2/cop/login/sms~",
~"POST /api/v2/cop/sso~",
~"GET /api/v1/cop/logout~"
)")
)
))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,7 +4,7 @@ module TP_Mobile_Mapping {
name = "TP_Mobile_Mapping" name = "TP_Mobile_Mapping"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object

View File

@ -4,39 +4,55 @@ module TP_Mobile_PersonalFavorites {
name = "TP_Mobile_PersonalFavorites" name = "TP_Mobile_PersonalFavorites"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)* ((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((builtin:service.keyRequest.errors.server.successCount:filter(
type(~"SERVICE~"),entityName.in( and(
~"btc-destination-composite-service - PROD~" or(
) in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-destination-composite-service - PROD~"
)
)
,entityName.in(
~"GET /api/v3/favorites~",
~"POST /api/v3/favorites~",
~"PUT /api/v3/favorites/<favoriteId>~"
)")
) )
,entityName.in( ))):splitBy())
~"GET /api/v3/favorites/~", /
~"POST /api/v3/favorites/~", (builtin:service.keyRequest.count.server:filter(
~"PUT /api/v3/favorites/<favoriteId>~" and(
)"))))):splitBy()) or(
/ in(
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), "dt.entity.service_method",
fromRelationship.isServiceMethodOfService( entitySelector(
type(~"SERVICE~"),entityName.in( "type(service_method),
~"btc-destination-composite-service - PROD~" fromRelationship.isServiceMethodOfService(
) type(~"SERVICE~"),entityName.in(
~"btc-destination-composite-service - PROD~"
)
)
,entityName.in(
~"GET /api/v3/favorites~",
~"POST /api/v3/favorites~",
~"PUT /api/v3/favorites/<favoriteId>~"
)")
) )
,entityName.in( ))):splitBy()))
~"GET /api/v3/favorites/~", EOT
~"POST /api/v3/favorites/~",
~"PUT /api/v3/favorites/<favoriteId>~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -1,51 +0,0 @@
module TP_Mobile_RSU {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_RSU"
description = "CoCo-QM-Report_Mobile"
#entity selector object
filter = ""
#metric expression of the calculation as done in data explorer ui
metric_expression = <<-EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"RemoteSoftwareUpgrade.WebApp - PROD~"
)
)
,entityName.in(
~"POST /v1/vehicle/rsustatus/finishInstallation~",
~"POST /v1/vehicle/rsustatus/preparationCompleted~",
~"POST /v1/vehicle/rsustatus/updateAvailable~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"RemoteSoftwareUpgrade.WebApp - PROD~"
)
)
,entityName.in(
~"POST /v1/vehicle/rsustatus/finishInstallation~",
~"POST /v1/vehicle/rsustatus/preparationCompleted~",
~"POST /v1/vehicle/rsustatus/updateAvailable~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
#currently the only possible value
evaluation = "AGGREGATE"
#Target and warning percentage of the SLO as double
target = 98 #if not set(removed) it's defaulted to 98
warning = 99 #if not set(removed) it's defaulted to 99
}

View File

@ -4,32 +4,65 @@ module TP_Mobile_Remote360 {
name = "TP_Mobile_Remote360" name = "TP_Mobile_Remote360"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((builtin:service.keyRequest.errors.server.successCount:filter(
type(~"SERVICE~"),entityName.in( and(
~"remote-360-composite-service - PROD~" or(
) in(
) "dt.entity.service_method",
,entityName.in( entitySelector(
~"GET /api/v1/events/[UUID]~", "type(service_method),
~"POST /api/v1/events/[UUID]/cancel~", fromRelationship.isServiceMethodOfService(
~"POST /api/v1/event/execute~", type(~"SERVICE~"),entityName.in(
~"GET /api/v1/download/[UUID]/<fileName>~", ~"remote-360-composite-service - PROD~"
~"POST /api/v1/download/[UUID]/<fileName>/confirm~", )
~"GET /api/v1/vehicle/<VIN>/egomodelurl~", )
~"GET /api/v1/vehicle/<VIN>/key~", ,entityName.in(
~"GET /api/v1/recordings/vehicle/<VIN>~" ~"GET /api/v1/events/[UUID]~",
)"))))):splitBy()) ~"POST /api/v1/events/[UUID]/cancel~",
~"POST /api/v1/event/execute~",
EOT ~"GET /api/v1/download/[UUID]/<fileName>~",
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
~"GET /api/v1/vehicle/<VIN>/key~",
~"GET /api/v1/recordings/vehicle/<VIN>~"
)")
)
))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(
and(
or(
in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"remote-360-composite-service - PROD~"
)
)
,entityName.in(
~"GET /api/v1/events/[UUID]~",
~"POST /api/v1/events/[UUID]/cancel~",
~"POST /api/v1/event/execute~",
~"GET /api/v1/download/[UUID]/<fileName>~",
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
~"GET /api/v1/vehicle/<VIN>/key~",
~"GET /api/v1/recordings/vehicle/<VIN>~"
)")
)
))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,7 +4,7 @@ module TP_Mobile_RemoteServices {
name = "TP_Mobile_RemoteServices" name = "TP_Mobile_RemoteServices"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
@ -12,35 +12,61 @@ module TP_Mobile_RemoteServices {
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<-EOT metric_expression = <<-EOT
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((builtin:service.keyRequest.errors.server.successCount:filter(
type(~"SERVICE~"),entityName.in( and(
~"btc-vehicle-remote-commands-composite-service - PROD~" or(
) in(
) "dt.entity.service_method",
,entityName.in( entitySelector(
~"POST /api/v2/presentation/remote-commands/eventStatus~", "type(service_method),
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~", fromRelationship.isServiceMethodOfService(
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~", type(~"SERVICE~"),entityName.in(
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~", ~"btc-vehicle-remote-commands-composite-service - PROD~"
~"GET /api/v2/presentation/remote-history/<VIN>~", )
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~", )
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~", ,entityName.in(
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~", ~"POST /api/v2/presentation/remote-commands/eventStatus~",
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~", ~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
~"GET /api/v1/presentation/remote-history/<VIN>~", ~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
~"POST /api/v3/presentation/remote-commands/eventStatus~", ~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
~"POST /api/v3/presentation/remote-commands/<VIN>/door-lock~", ~"GET /api/v2/presentation/remote-history/<VIN>~",
~"POST /api/v3/presentation/remote-commands/<VIN>/door-unlock~", ~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-now~", ~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
~"GET /api/v3/presentation/remote-history/<VIN>~", ~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~", ~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-timer~", ~"GET /api/v1/presentation/remote-history/<VIN>~"
~"POST /api/v3/presentation/remote-commands/<VIN>/light-flash~", )")
~"POST /api/v3/presentation/remote-commands/<VIN>/vehicle-finder~", )
~"POST /api/v3/presentation/remote-commands/eventPosition~" ))):splitBy())
)"))))):splitBy()) /
EOT (builtin:service.keyRequest.count.server:filter(
and(
or(
in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-remote-commands-composite-service - PROD~"
)
)
,entityName.in(
~"POST /api/v2/presentation/remote-commands/eventStatus~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
~"GET /api/v2/presentation/remote-history/<VIN>~",
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
~"GET /api/v1/presentation/remote-history/<VIN>~"
)")
)
))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,27 +4,43 @@ module TP_Mobile_Send2VehicleLegacy {
name = "TP_Mobile_Send2VehicleLegacy" name = "TP_Mobile_Send2VehicleLegacy"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)*((builtin:service.errors.server.successCount:filter(and(or(in("dt.entity.service", (100)*
entitySelector("type(service), ((builtin:service.errors.server.successCount:filter(
entityName.in( and(
~"LegacyPoiApi - msgsvc - prod~" or(
) in(
"))))):splitBy()) "dt.entity.service",
/ entitySelector("type(service),
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service), entityName.in(
entityName.in( ~"LegacyPoiApi - msgsvc - prod~"
~"LegacyPoiApi - msgsvc - prod~" )
) ")
"))))):splitBy())) )
EOT )
)):splitBy())
/
(builtin:service.requestCount.total:filter(
and(
or(
in(
"dt.entity.service",
entitySelector("type(service),
entityName.in(
~"LegacyPoiApi - msgsvc - prod~"
)
")
)
)
)):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,36 +4,53 @@ module TP_Mobile_Send2VehicleMGU {
name = "TP_Mobile_Send2VehicleMGU" name = "TP_Mobile_Send2VehicleMGU"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((builtin:service.keyRequest.errors.server.successCount:filter(
type(~"SERVICE~"),entityName.in( and(
~"TripService - PROD~" or(
) in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TripService - PROD~"
)
)
,entityName.in(
~"/v3/motorist/[UUID]/trips~",
~"/v2/motorist/[UUID]/trips~"
)")
) )
,entityName.in( ))):splitBy())
~"/v2/motorist/[UUID]/trips~", /
~"/v3/motorist/[UUID]/trips~" (builtin:service.keyRequest.count.server:filter(
)"))))):splitBy()) and(
/ or(
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), in(
fromRelationship.isServiceMethodOfService( "dt.entity.service_method",
type(~"SERVICE~"),entityName.in( entitySelector(
~"TripService - PROD~" "type(service_method),
) fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TripService - PROD~"
)
)
,entityName.in(
~"/v3/motorist/[UUID]/trips~",
~"/v2/motorist/[UUID]/trips~"
)")
) )
,entityName.in( ))):splitBy()))
~"/v2/motorist/[UUID]/trips~", EOT
~"/v3/motorist/[UUID]/trips~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,28 +4,55 @@ module TP_Mobile_VehicleData {
name = "TP_Mobile_VehicleData" name = "TP_Mobile_VehicleData"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((builtin:service.keyRequest.errors.server.successCount:filter(
type(~"SERVICE~"),entityName.in( and(
or(
in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-composite-service - PROD~", ~"btc-vehicle-composite-service - PROD~",
~"VehicleService - PROD~" ~"VehicleService - PROD~"
) )
) )
,entityName.in( ,entityName.in(
~"GET /api/v1/vehicles/<VIN>/state~", ~"GET /api/v1/vehicles/<VIN>/state~",
~"GET /v1/vehicle/<VIN>~", ~"GET /v1/vehicle/<VIN>~"
~"GET /v2/vehicle/<VIN>~" )")
)")))):splitBy()) )
))):splitBy())
EOT /
(builtin:service.keyRequest.count.server:filter(
and(
or(
in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-composite-service - PROD~",
~"VehicleService - PROD~"
)
)
,entityName.in(
~"GET /api/v1/vehicles/<VIN>/state~",
~"GET /v1/vehicle/<VIN>~"
)")
)
))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,7 +4,7 @@ module TP_Mobile_VehicleList {
name = "TP_Mobile_VehicleList" name = "TP_Mobile_VehicleList"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
@ -12,27 +12,40 @@ module TP_Mobile_VehicleList {
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<-EOT metric_expression = <<-EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method", (100)*
entitySelector("type(service_method), ((builtin:service.keyRequest.errors.server.successCount:filter(
fromRelationship.isServiceMethodOfService( and(
type(~"SERVICE~"),entityName.in( or(
~"btc-vehicle-composite-service - PROD~" in(
) "dt.entity.service_method",
) entitySelector(
,entityName.in( "type(service_method),
~"GET /api/v1/vehicles~" fromRelationship.isServiceMethodOfService(
)"))))):splitBy()) type(~"SERVICE~"),entityName.in
/ (~"btc-vehicle-composite-service - PROD~")
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method", )
entitySelector("type(service_method), ,entityName.in(
fromRelationship.isServiceMethodOfService( ~"GET /api/v1/vehicles~"
type(~"SERVICE~"),entityName.in( )")
~"btc-vehicle-composite-service - PROD~" )
) ))):splitBy())
) /
,entityName.in( (builtin:service.keyRequest.count.server:filter(
~"GET /api/v1/vehicles~" and(
)"))))):splitBy())) or(
in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in
(~"btc-vehicle-composite-service - PROD~")
)
,entityName.in(
~"GET /api/v1/vehicles~"
)")
)
))):splitBy()))
EOT EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"

View File

@ -5,7 +5,7 @@ module TP_Vehicle_AppDistribution {
name = "TP_Vehicle_AppDistribution" name = "TP_Vehicle_AppDistribution"
description = "CoCo-QM-Report_Vehicle" description = "CoCo QM-Report_Vehicle"

View File

@ -4,7 +4,7 @@ module TP_Vehicle_FTS {
name = "TP_Vehicle_FTS" name = "TP_Vehicle_FTS"
description = "CoCo-QM-Report_Vehicle" description = "CoCo-QM-Report_Draft"
#entity selector object #entity selector object
filter = "" filter = ""

View File

@ -1,78 +0,0 @@
module TP_Vehicle_RSU {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Vehicle_RSU"
description = "CoCo-QM-Report_Vehicle"
#entity selector object
filter = ""
#metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"UpdateRequestResource - rsu - prod~",
~"UpdateManifestResource - rsu - prod~",
~"SendReportResource - rsu - prod~",
~"MessageEndpointProxy - rsu - prod~"
)
)
,entityName.in(
~"askForUpdate~",
~"askForUpdateManifest~",
~"sendReport~",
~"Queue: BMW.RSU.ZFUS_MPG_OUTPUT~",
~"Queue: BMW.RSU.DEC_VEHICLE_REQUEST.ASBC_TO_RSA~",
~"Queue: BMW.RSU.UPDATEMANIFEST.ZFUS_TO_RSA~",
~"Queue: BMW.RSU.ENC_UPDATEMANIFEST.ASBC_TO_RSA~",
~"Queue: BMW.RSU.VEHICLE_TRIGGER~",
~"Queue: BMW.RSU.RSA_PIPELINE~",
~"Queue: BMW.RSU.RN.RNB_TO_RSA~",
~"Queue: BMW.RSA.VEHICLE_MESSAGES~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"UpdateRequestResource - rsu - prod~",
~"UpdateManifestResource - rsu - prod~",
~"SendReportResource - rsu - prod~",
~"MessageEndpointProxy - rsu - prod~"
)
)
,entityName.in(
~"askForUpdate~",
~"askForUpdateManifest~",
~"sendReport~",
~"Queue: BMW.RSU.ZFUS_MPG_OUTPUT~",
~"Queue: BMW.RSU.DEC_VEHICLE_REQUEST.ASBC_TO_RSA~",
~"Queue: BMW.RSU.UPDATEMANIFEST.ZFUS_TO_RSA~",
~"Queue: BMW.RSU.ENC_UPDATEMANIFEST.ASBC_TO_RSA~",
~"Queue: BMW.RSU.VEHICLE_TRIGGER~",
~"Queue: BMW.RSU.RSA_PIPELINE~",
~"Queue: BMW.RSU.RN.RNB_TO_RSA~",
~"Queue: BMW.RSA.VEHICLE_MESSAGES~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
#currently the only possible value
evaluation = "AGGREGATE"
#Target and warning percentage of the SLO as double
target = 98 #if not set(removed) it's defaulted to 98
warning = 99 #if not set(removed) it's defaulted to 99
}

View File

@ -14,10 +14,15 @@ module TP_Vehicle_RTTI {
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<EOT
(100)-(builtin:service.errors.fivexx.rate:filter(and(or(in("dt.entity.service",entitySelector("type(service), (100)*((builtin:service.errors.fivexx.successCount:filter(and(or(in("dt.entity.service",entitySelector("type(service),
entityName.equals( entityName.equals(
~"Netty on 0.0.0.0:8080 - rtti - prod~" ~"Netty on 0.0.0.0:8080 - rtti - prod~"
)"))))):splitBy()) )"))))):splitBy())
/
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service),
entityName.equals(
~"Netty on 0.0.0.0:8080 - rtti - prod~"
)"))))):splitBy()))
EOT EOT

View File

@ -14,10 +14,15 @@ module Wirkkette__RTTI-Service__-_Reliability_of_key_requests {
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<EOT
(100)-(builtin:service.errors.fivexx.rate:filter(and(or(in("dt.entity.service",entitySelector("type(service), (100)*((builtin:service.errors.fivexx.successCount:filter(and(or(in("dt.entity.service",entitySelector("type(service),
entityName.equals( entityName.equals(
~"Netty on 0.0.0.0:8080 - rtti - prod~" ~"Netty on 0.0.0.0:8080 - rtti - prod~"
)"))))):splitBy()) )"))))):splitBy())
/
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service),
entityName.equals(
~"Netty on 0.0.0.0:8080 - rtti - prod~"
)"))))):splitBy()))
EOT EOT

View File

@ -15,34 +15,66 @@ module Wirkkette__Remote_Services__-_Reliability_of_key_requests {
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<-EOT metric_expression = <<-EOT
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((builtin:service.keyRequest.errors.server.successCount:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
type(~"SERVICE~"),entityName.in( fromRelationship.isServiceMethodOfService(
~"btc-vehicle-remote-commands-composite-service - PROD~" type(~"SERVICE~"),entityName.in(
) ~"btc-vehicle-remote-commands-composite-service - PROD~"
) )
,entityName.in( )
~"POST /api/v2/presentation/remote-commands/eventStatus~", ,entityName.in(
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~", ~"POST /api/v2/presentation/remote-commands/eventStatus~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~", ~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~", ~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
~"GET /api/v2/presentation/remote-history/<VIN>~", ~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~", ~"GET /api/v2/presentation/remote-history/<VIN>~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~", ~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~", ~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~", ~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
~"GET /api/v1/presentation/remote-history/<VIN>~", ~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
~"POST /api/v3/presentation/remote-commands/eventStatus~", ~"GET /api/v1/presentation/remote-history/<VIN>~",
~"POST /api/v3/presentation/remote-commands/<VIN>/door-lock~", ~"POST /api/v3/presentation/remote-commands/eventStatus~",
~"POST /api/v3/presentation/remote-commands/<VIN>/door-unlock~", ~"POST /api/v3/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-now~", ~"POST /api/v3/presentation/remote-commands/<VIN>/door-unlock~",
~"GET /api/v3/presentation/remote-history/<VIN>~", ~"POST /api/v3/presentation/remote-commands/<VIN>/climate-now~",
~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~", ~"GET /api/v3/presentation/remote-history/<VIN>~",
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-timer~", ~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v3/presentation/remote-commands/<VIN>/light-flash~", ~"POST /api/v3/presentation/remote-commands/<VIN>/climate-timer~",
~"POST /api/v3/presentation/remote-commands/<VIN>/vehicle-finder~", ~"POST /api/v3/presentation/remote-commands/<VIN>/light-flash~",
~"POST /api/v3/presentation/remote-commands/eventPosition~" ~"POST /api/v3/presentation/remote-commands/<VIN>/vehicle-finder~"
)"))))):splitBy()) )")
)
)):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-remote-commands-composite-service - PROD~"
)
)
,entityName.in(
~"POST /api/v2/presentation/remote-commands/eventStatus~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
~"GET /api/v2/presentation/remote-history/<VIN>~",
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
~"GET /api/v1/presentation/remote-history/<VIN>~",
~"POST /api/v3/presentation/remote-commands/eventStatus~",
~"POST /api/v3/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v3/presentation/remote-commands/<VIN>/door-unlock~",
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-now~",
~"GET /api/v3/presentation/remote-history/<VIN>~",
~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-timer~",
~"POST /api/v3/presentation/remote-commands/<VIN>/light-flash~",
~"POST /api/v3/presentation/remote-commands/<VIN>/vehicle-finder~"
)")
)
)):splitBy()))
EOT EOT

View File

@ -1,51 +0,0 @@
module TP_Mobile_DigitalKey {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_DigitalKey"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((1)-(builtin:service.keyRequest.errors.fivexx.count:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TrackApi - smc - PROD~",
~"digital-key-composite-service - PROD~"
)
),entityName.in(
~"trackKey~",
~"manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TrackApi - smc - PROD~",
~"digital-key-composite-service - PROD~"
)
),entityName.in(
~"trackKey~",
~"manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,59 +0,0 @@
module TP_Mobile_Login {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_Login"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-user-composite-service - PROD~",
~"btc-cn-connected-oauth-service - PROD~"
)
),entityName.in(
~"GET /api/v1/presentation/profile-account~",
~"GET /api/v2/presentation/profile-account~",
~"POST /api/v2/presentation/profile-account~",
~"GET /api/v1/presentation/profile-tab/contacts~",
~"POST /api/v2/cop/login/pwd~",
~"POST /api/v2/cop/login/sms~",
~"POST /api/v2/cop/sso~",
~"GET /api/v1/cop/logout~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-user-composite-service - PROD~",
~"btc-cn-connected-oauth-service - PROD~"
)
),entityName.in(
~"GET /api/v1/presentation/profile-account~",
~"GET /api/v2/presentation/profile-account~",
~"POST /api/v2/presentation/profile-account~",
~"GET /api/v1/presentation/profile-tab/contacts~",
~"POST /api/v2/cop/login/pwd~",
~"POST /api/v2/cop/login/sms~",
~"POST /api/v2/cop/sso~",
~"GET /api/v1/cop/logout~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,55 +0,0 @@
module TP_Mobile_Mapping {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_Mapping"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-user-composite-service - PROD~",
~"vehicle-mapping-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v2/presentation/users/validate~",
~"POST /api/v2/vehicles/<VIN>/primary~",
~"POST /api/v2/vehicles/<VIN>/primary/map~",
~"POST /api/v1/vehicles/<VIN>/validate-security-code~",
~"POST /api/v1/vehicles/<VIN>/resend-security-code~",
~"DELETE /api/v1/vehicles/<VIN>~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-user-composite-service - PROD~",
~"vehicle-mapping-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v2/presentation/users/validate~",
~"POST /api/v2/vehicles/<VIN>/primary~",
~"POST /api/v2/vehicles/<VIN>/primary/map~",
~"POST /api/v1/vehicles/<VIN>/validate-security-code~",
~"POST /api/v1/vehicles/<VIN>/resend-security-code~",
~"DELETE /api/v1/vehicles/<VIN>~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,47 +0,0 @@
module TP_Mobile_PersonalFavorites {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_PersonalFavorites"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-destination-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v3/favorites/~",
~"POST /api/v3/favorites/~",
~"PUT /api/v3/favorites/<favoriteId>~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-destination-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v3/favorites/~",
~"POST /api/v3/favorites/~",
~"PUT /api/v3/favorites/<favoriteId>~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,57 +0,0 @@
module TP_Mobile_Remote360 {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_Remote360"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"remote-360-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v1/events/[UUID]~",
~"POST /api/v1/events/[UUID]/cancel~",
~"POST /api/v1/event/execute~",
~"GET /api/v1/download/[UUID]/<fileName>~",
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
~"GET /api/v1/vehicle/<VIN>/key~",
~"GET /api/v1/recordings/vehicle/<VIN>~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"remote-360-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v1/events/[UUID]~",
~"POST /api/v1/events/[UUID]/cancel~",
~"POST /api/v1/event/execute~",
~"GET /api/v1/download/[UUID]/<fileName>~",
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
~"GET /api/v1/vehicle/<VIN>/key~",
~"GET /api/v1/recordings/vehicle/<VIN>~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,61 +0,0 @@
module TP_Mobile_RemoteServices {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_RemoteServices"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-remote-commands-composite-service - PROD~"
)
),entityName.in(
~"POST /api/v2/presentation/remote-commands/eventStatus~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
~"GET /api/v2/presentation/remote-history/<VIN>~",
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
~"GET /api/v1/presentation/remote-history/<VIN>~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-remote-commands-composite-service - PROD~"
)
),entityName.in(
~"POST /api/v2/presentation/remote-commands/eventStatus~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
~"GET /api/v2/presentation/remote-history/<VIN>~",
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
~"GET /api/v1/presentation/remote-history/<VIN>~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,34 +0,0 @@
module TP_Mobile_Send2VehicleLegacy {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_Send2VehicleLegacy"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((:filter(and(or(in("dt.entity.service",entitySelector("type(service),entityName.in(
~"~"
)"))))):splitBy())
/
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service),
entityName.in(
~"~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,45 +0,0 @@
module TP_Mobile_Send2VehicleMGU {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_Send2VehicleMGU"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TripService - PROD~"
)
),entityName.in(
~"/v3/motorist/[UUID]/trips~",
~"/v2/motorist/[UUID]/trips~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TripService - PROD~"
)
),entityName.in(
~"/v3/motorist/[UUID]/trips~",
~"/v2/motorist/[UUID]/trips~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,43 +0,0 @@
module TP_Mobile_VehicleData {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_VehicleData"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v1/vehicles~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v1/vehicles~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,43 +0,0 @@
module TP_Mobile_VehicleList {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_VehicleList"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v1/vehicles~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v1/vehicles~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,34 +0,0 @@
module TP_Vehicle_FTS {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Vehicle_FTS"
description = "CoCo-QM-Report_Draft"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"POIs~"
)
),entityName.in(
~"getPOIs (FTS Calls)~"
)"))))):splitBy())
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,35 +0,0 @@
module TP_Vehicle_RTTI {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Vehicle_RTTI"
description = "CoCo-QM-Report_Vehicle"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.errors.fivexx.successCount:filter(and(or(in("dt.entity.service",entitySelector("type(service),
entityName.equals(
~"Netty on 0.0.0.0:8080 - rtti - prod~"
)"))))):splitBy())
/
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service),
entityName.equals(
~"Netty on 0.0.0.0:8080 - rtti - prod~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -2,7 +2,7 @@ resource "dynatrace_management_zone" "PD_AccountManagementConnectedCar" {
name = "PD_AccountManagementConnectedCar" name = "PD_AccountManagementConnectedCar"
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-ECS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")" selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-CNS\",\"compass-id:AM-ECS\",\"compass-id:AM-LMCS\",\"compass-id:AM-Proxy\",\"compass-id:AM-Store\",\"compass-id:AM-SVMS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:AM-VMS\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true

View File

@ -1,13 +1,13 @@
resource "dynatrace_management_zone" "PD_ConnectedDriveStoreBackend" { resource "dynatrace_management_zone" "PD_ConnectedDriveStoreBackend" {
name = "PD_ConnectedDriveStoreBackend" name = "PD_ConnectedDriveStoreBackend"
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"Component:am-store\",\"compass-id:AM-Store\")"
}
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:buffet-if56\",\"compass-id:Buffet-Birt\",\"compass-id:Buffet-CIC-Backend\",\"compass-id:Buffet-Core\",\"compass-id:Buffet-External-CDM\",\"compass-id:Buffet-External-Offer\",\"compass-id:Buffet-External-Payment\",\"compass-id:Buffet-External-Tax\",\"compass-id:Buffet-GAM\",\"compass-id:Buffet-IF33\",\"compass-id:Buffet-IF38\",\"compass-id:Buffet-IF41\",\"compass-id:Buffet-IF50\",\"compass-id:Buffet-IF51\",\"compass-id:Buffet-IF52\",\"compass-id:Buffet-IF53\",\"compass-id:Buffet-IF54\",\"compass-id:Buffet-IF58\",\"compass-id:Buffet-IF60\",\"compass-id:Buffet-IF90\",\"compass-id:Buffet-Promo-API\",\"compass-id:IME-CDS\",\"compass-id:IME-CS\",\"compass-id:IME-RDC\",\"compass-id:IME-SS\",\"compass-id:IME-WS\")" selector = "type(Service),tag(\"compass-id:buffet-if56\",\"compass-id:Buffet-Birt\",\"compass-id:Buffet-CIC-Backend\",\"compass-id:Buffet-Core\",\"compass-id:Buffet-External-CDM\",\"compass-id:Buffet-External-Offer\",\"compass-id:Buffet-External-Payment\",\"compass-id:Buffet-External-Tax\",\"compass-id:Buffet-GAM\",\"compass-id:Buffet-IF33\",\"compass-id:Buffet-IF38\",\"compass-id:Buffet-IF41\",\"compass-id:Buffet-IF50\",\"compass-id:Buffet-IF51\",\"compass-id:Buffet-IF52\",\"compass-id:Buffet-IF53\",\"compass-id:Buffet-IF54\",\"compass-id:Buffet-IF58\",\"compass-id:Buffet-IF60\",\"compass-id:Buffet-IF90\",\"compass-id:Buffet-Promo-API\",\"compass-id:IME-CDS\",\"compass-id:IME-CS\",\"compass-id:IME-RDC\",\"compass-id:IME-SS\",\"compass-id:IME-WS\")"
} }
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"Component:am-store\")"
}
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:Concat\",\"compass-id:Connected-Catalog\")" selector = "type(Service),tag(\"compass-id:Concat\",\"compass-id:Connected-Catalog\")"

View File

@ -2,14 +2,14 @@ resource "dynatrace_management_zone" "PD_ConnectedUserProfileServices" {
name = "PD_ConnectedUserProfileServices" name = "PD_ConnectedUserProfileServices"
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:AM-CNS\",\"compass-id:am-config\",\"compass-id:am-lmcs\",\"compass-id:AM-Proxy\",\"compass-id:AM-SVMS\",\"compass-id:AM-VMS\",\"compass-id:MAPPING-STUB\",\"compass-id:UMS-UI\")" selector = "type(Service),tag(\"compass-id:OMC Table Storage Expiration Service\",\"compass-id:omc-client-analytics-hub-consumer-ms\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:ecsm\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")" selector = "type(Service),tag(\"compass-id:dpm\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:agent-service\")" selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")"
} }
} }

View File

@ -1,9 +1,5 @@
resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" { resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
name = "PD_InfotainmentInteractivityServices" name = "PD_InfotainmentInteractivityServices"
entity_selector_based_rule {
enabled = true
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")" selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"
@ -24,8 +20,4 @@ resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:cm-config\",\"compass-id:cm-gracenote\",\"compass-id:cm-spotify\",\"compass-id:cm-ximalaya\",\"compass-id:OED\",\"compass-id:OED-CN\",\"compass-id:OEG\",\"compass-id:OEG-CN\",\"compass-id:OEO\",\"compass-id:OEO-CN\",\"compass-id:OEP\",\"compass-id:OEP-CN\",\"compass-id:OES\",\"compass-id:OES-CN\",\"compass-id:OET\",\"compass-id:OET-CN\",\"compass-id:shortvideo\")" selector = "type(Service),tag(\"compass-id:cm-config\",\"compass-id:cm-gracenote\",\"compass-id:cm-spotify\",\"compass-id:cm-ximalaya\",\"compass-id:OED\",\"compass-id:OED-CN\",\"compass-id:OEG\",\"compass-id:OEG-CN\",\"compass-id:OEO\",\"compass-id:OEO-CN\",\"compass-id:OEP\",\"compass-id:OEP-CN\",\"compass-id:OES\",\"compass-id:OES-CN\",\"compass-id:OET\",\"compass-id:OET-CN\",\"compass-id:shortvideo\")"
} }
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:iisc-ds\",\"compass-id:iisc-ir\",\"compass-id:iisc-ls\",\"compass-id:iisc-rr\",\"compass-id:iisc-tmpp-au\",\"compass-id:iisc-tmpp-mf\",\"compass-id:iisc-tmpp-wp\",\"compass-id:tmpp-wechat-proxy\")"
}
} }

View File

@ -2,7 +2,7 @@ resource "dynatrace_management_zone" "PD_AccountManagementConnectedCar" {
name = "PD_AccountManagementConnectedCar" name = "PD_AccountManagementConnectedCar"
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-ECS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")" selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-CNS\",\"compass-id:AM-ECS\",\"compass-id:AM-LMCS\",\"compass-id:AM-Proxy\",\"compass-id:AM-Store\",\"compass-id:AM-SVMS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:AM-VMS\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true

View File

@ -2,7 +2,7 @@ resource "dynatrace_management_zone" "PD_ConnectedDriveStoreBackend" {
name = "PD_ConnectedDriveStoreBackend" name = "PD_ConnectedDriveStoreBackend"
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"Component:am-store\",\"compass-id:AM-Store\")" selector = "type(Service),tag(\"Component:am-store\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true

View File

@ -1,15 +1,35 @@
resource "dynatrace_management_zone" "PD_ConnectedUserProfileServices" { resource "dynatrace_management_zone" "PD_ConnectedUserProfileServices" {
name = "PD_ConnectedUserProfileServices" name = "PD_ConnectedUserProfileServices"
entity_selector_based_rule { entity_selector_based_rule {
enabled = true # enabled = false
selector = "type(Service),tag(\"compass-id:AM-CNS\",\"compass-id:am-config\",\"compass-id:am-lmcs\",\"compass-id:AM-Proxy\",\"compass-id:AM-SVMS\",\"compass-id:AM-VMS\",\"compass-id:MAPPING-STUB\",\"compass-id:UMS-UI\")" selector = "type(Service),tag(\"compass-id:OMC Table Storage Expiration Service\",\"compass-id:omc-client-analytics-hub-consumer-ms\")"
}
entity_selector_based_rule {
# enabled = false
selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:ecsm\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")" selector = "type(Service),tag(\"compass-id:dpm\",\"compass-id:DPP\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:agent-service\")" selector = "type(Service),tag(\"compass-id:agent-service\")"
} }
rules {
type = "SERVICE"
# enabled = false
conditions {
key {
type = "STATIC"
attribute = "SERVICE_NAME"
}
string {
case_sensitive = true
# negate = false
operator = "EQUALS"
value = "ProtectedDppV1RestApi - dpp - prod"
}
}
}
} }

View File

@ -1,9 +1,5 @@
resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" { resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
name = "PD_InfotainmentInteractivityServices" name = "PD_InfotainmentInteractivityServices"
entity_selector_based_rule {
enabled = true
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")" selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"
@ -24,8 +20,4 @@ resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:cm-config\",\"compass-id:cm-gracenote\",\"compass-id:cm-spotify\",\"compass-id:cm-ximalaya\",\"compass-id:OED\",\"compass-id:OED-CN\",\"compass-id:OEG\",\"compass-id:OEG-CN\",\"compass-id:OEO\",\"compass-id:OEO-CN\",\"compass-id:OEP\",\"compass-id:OEP-CN\",\"compass-id:OES\",\"compass-id:OES-CN\",\"compass-id:OET\",\"compass-id:OET-CN\",\"compass-id:shortvideo\")" selector = "type(Service),tag(\"compass-id:cm-config\",\"compass-id:cm-gracenote\",\"compass-id:cm-spotify\",\"compass-id:cm-ximalaya\",\"compass-id:OED\",\"compass-id:OED-CN\",\"compass-id:OEG\",\"compass-id:OEG-CN\",\"compass-id:OEO\",\"compass-id:OEO-CN\",\"compass-id:OEP\",\"compass-id:OEP-CN\",\"compass-id:OES\",\"compass-id:OES-CN\",\"compass-id:OET\",\"compass-id:OET-CN\",\"compass-id:shortvideo\")"
} }
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:iisc-ds\",\"compass-id:iisc-ir\",\"compass-id:iisc-ls\",\"compass-id:iisc-rr\",\"compass-id:iisc-tmpp-au\",\"compass-id:iisc-tmpp-mf\",\"compass-id:iisc-tmpp-wp\",\"compass-id:tmpp-wechat-proxy\")"
}
} }

View File

@ -4,7 +4,7 @@ module TP_Mobile_DigitalKey {
name = "TP_Mobile_DigitalKey" name = "TP_Mobile_DigitalKey"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
@ -12,34 +12,51 @@ module TP_Mobile_DigitalKey {
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<-EOT metric_expression = <<-EOT
(100)*((1)-(builtin:service.keyRequest.errors.fivexx.count:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((1)-(builtin:service.keyRequest.errors.fivexx.count:filter(
type(~"SERVICE~"),entityName.in( and(
~"TrackApi - smc - PROD~", or(
~"digital-key-composite-service - PROD~" in(
) "dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TrackApi - smc - PROD~",
~"digital-key-composite-service - PROD~"
)
)
,entityName.in(
~"POST /smc2-bl/track/v2/trackKey~",
~"POST /smc2-bl/track/v2/manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)")
) )
,entityName.in( ))):splitBy())
~"trackKey~", /
~"manageKey~", (builtin:service.keyRequest.count.server:filter(
~"GET /api/v1/digitalkey/<VIN>/password~", and(
~"GET /api/v1/digitalkey/<VIN>/pairing~" or(
)"))))):splitBy()) in(
/ "dt.entity.service_method",
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), entitySelector(
fromRelationship.isServiceMethodOfService( "type(service_method),
type(~"SERVICE~"),entityName.in( fromRelationship.isServiceMethodOfService(
~"TrackApi - smc - PROD~", type(~"SERVICE~"),entityName.in(
~"digital-key-composite-service - PROD~" ~"TrackApi - smc - PROD~",
) ~"digital-key-composite-service - PROD~"
)
)
,entityName.in(
~"POST /smc2-bl/track/v2/trackKey~",
~"POST /smc2-bl/track/v2/manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)")
) )
,entityName.in( ))):splitBy()))
~"trackKey~", EOT
~"manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,7 +4,7 @@ module TP_Mobile_Login {
name = "TP_Mobile_Login" name = "TP_Mobile_Login"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object

View File

@ -4,7 +4,7 @@ module TP_Mobile_Mapping {
name = "TP_Mobile_Mapping" name = "TP_Mobile_Mapping"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object

View File

@ -4,51 +4,67 @@ module TP_Mobile_PersonalFavorites {
name = "TP_Mobile_PersonalFavorites" name = "TP_Mobile_PersonalFavorites"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)* ((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((builtin:service.keyRequest.errors.server.successCount:filter(
type(~"SERVICE~"),entityName.in( and(
~"btc-destination-composite-service - PROD~" or(
) in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-destination-composite-service - PROD~"
)
)
,entityName.in(
~"POST /api/v2/favorites/~",
~"POST /api/v3/favorites/~",
~"GET /api/v2/favorites/~",
~"GET /api/v3/favorites/~",
~"GET /api/v1/favorites~",
~"PUT /api/v2/favorites/<favoriteId>~",
~"PUT /api/v3/favorites/<favoriteId>~",
~"PUT /api/v2/favorites/homework/1~",
~"PUT /api/v2/favorites/homework/2~"
)")
) )
,entityName.in( ))):splitBy())
~"POST /api/v2/favorites/~", /
~"POST /api/v3/favorites/~", (builtin:service.keyRequest.count.server:filter(
~"GET /api/v2/favorites/~", and(
~"GET /api/v3/favorites/~", or(
~"GET /api/v1/favorites~", in(
~"PUT /api/v2/favorites/<favoriteId>~", "dt.entity.service_method",
~"PUT /api/v3/favorites/<favoriteId>~", entitySelector(
~"PUT /api/v2/favorites/homework/1~", "type(service_method),
~"PUT /api/v2/favorites/homework/2~" fromRelationship.isServiceMethodOfService(
)"))))):splitBy()) type(~"SERVICE~"),entityName.in(
/ ~"btc-destination-composite-service - PROD~"
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), )
fromRelationship.isServiceMethodOfService( )
type(~"SERVICE~"),entityName.in( ,entityName.in(
~"btc-destination-composite-service - PROD~" ~"POST /api/v2/favorites/~",
) ~"POST /api/v3/favorites/~",
~"GET /api/v2/favorites/~",
~"GET /api/v3/favorites/~",
~"GET /api/v1/favorites~",
~"PUT /api/v2/favorites/<favoriteId>~",
~"PUT /api/v3/favorites/<favoriteId>~",
~"PUT /api/v2/favorites/homework/1~",
~"PUT /api/v2/favorites/homework/2~"
)")
) )
,entityName.in( ))):splitBy()))
~"POST /api/v2/favorites/~", EOT
~"POST /api/v3/favorites/~",
~"GET /api/v2/favorites/~",
~"GET /api/v3/favorites/~",
~"GET /api/v1/favorites~",
~"PUT /api/v2/favorites/<favoriteId>~",
~"PUT /api/v3/favorites/<favoriteId>~",
~"PUT /api/v2/favorites/homework/1~",
~"PUT /api/v2/favorites/homework/2~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,32 +4,65 @@ module TP_Mobile_Remote360 {
name = "TP_Mobile_Remote360" name = "TP_Mobile_Remote360"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((builtin:service.keyRequest.errors.server.successCount:filter(
type(~"SERVICE~"),entityName.in( and(
~"remote-360-composite-service - PROD~" or(
) in(
) "dt.entity.service_method",
,entityName.in( entitySelector(
~"GET /api/v1/events/[UUID]~", "type(service_method),
~"POST /api/v1/events/[UUID]/cancel~", fromRelationship.isServiceMethodOfService(
~"POST /api/v1/event/execute~", type(~"SERVICE~"),entityName.in(
~"GET /api/v1/download/[UUID]/<fileName>~", ~"remote-360-composite-service - PROD~"
~"POST /api/v1/download/[UUID]/<fileName>/confirm~", )
~"GET /api/v1/vehicle/<VIN>/egomodelurl~", )
~"GET /api/v1/vehicle/<VIN>/key~", ,entityName.in(
~"GET /api/v1/recordings/vehicle/<VIN>~" ~"GET /api/v1/events/[UUID]~",
)"))))):splitBy()) ~"POST /api/v1/events/[UUID]/cancel~",
~"POST /api/v1/event/execute~",
EOT ~"GET /api/v1/download/[UUID]/<fileName>~",
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
~"GET /api/v1/vehicle/<VIN>/key~",
~"GET /api/v1/recordings/vehicle/<VIN>~"
)")
)
))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(
and(
or(
in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"remote-360-composite-service - PROD~"
)
)
,entityName.in(
~"GET /api/v1/events/[UUID]~",
~"POST /api/v1/events/[UUID]/cancel~",
~"POST /api/v1/event/execute~",
~"GET /api/v1/download/[UUID]/<fileName>~",
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
~"GET /api/v1/vehicle/<VIN>/key~",
~"GET /api/v1/recordings/vehicle/<VIN>~"
)")
)
))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,46 +4,69 @@ module TP_Mobile_RemoteServices {
name = "TP_Mobile_RemoteServices" name = "TP_Mobile_RemoteServices"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((builtin:service.keyRequest.errors.server.successCount:filter(
type(~"SERVICE~"),entityName.in( and(
~"btc-vehicle-remote-commands-composite-service - PROD~" or(
) in(
) "dt.entity.service_method",
,entityName.in( entitySelector(
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~", "type(service_method),
~"POST /api/v3/presentation/remote-commands/<VIN>/door-lock~", fromRelationship.isServiceMethodOfService(
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~", type(~"SERVICE~"),entityName.in(
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-now~", ~"btc-vehicle-remote-commands-composite-service - PROD~"
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~", )
~"POST /api/v3/presentation/remote-commands/<VIN>/door-unlock~", )
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~", ,entityName.in(
~"POST /api/v3/presentation/remote-commands/<VIN>/vehicle-finder~", ~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~", ~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-timer~", ~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~", ~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~", ~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~", ~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
~"POST /api/v3/presentation/remote-commands/<VIN>/light-flash~", ~"POST /api/v2/presentation/remote-commands/<VIN>/charging-profile~",
~"GET /api/v1/presentation/remote-history/<VIN>~", ~"POST /api/v2/presentation/remote-commands/eventPosition~",
~"GET /api/v2/presentation/remote-history/<VIN>~", ~"GET /api/v1/presentation/remote-history/<VIN>~",
~"GET /api/v3/presentation/remote-history/<VIN>~", ~"POST /api/v2/presentation/remote-commands/eventStatus~"
~"POST /api/v2/presentation/remote-commands/<VIN>/charging-profile~", )")
~"POST /api/v2/presentation/remote-commands/eventPosition~", )
~"POST /api/v3/presentation/remote-commands/eventPosition~", ))):splitBy())
~"POST /api/v3/presentation/remote-commands/eventStatus~", /
~"POST /api/v2/presentation/remote-commands/eventStatus~" (builtin:service.keyRequest.count.server:filter(
)"))))):splitBy()) and(
or(
EOT in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-remote-commands-composite-service - PROD~"
)
)
,entityName.in(
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
~"POST /api/v2/presentation/remote-commands/<VIN>/charging-profile~",
~"POST /api/v2/presentation/remote-commands/eventPosition~",
~"GET /api/v1/presentation/remote-history/<VIN>~",
~"POST /api/v2/presentation/remote-commands/eventStatus~"
)")
)
))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,27 +4,43 @@ module TP_Mobile_Send2VehicleLegacy {
name = "TP_Mobile_Send2VehicleLegacy" name = "TP_Mobile_Send2VehicleLegacy"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)*((builtin:service.errors.server.successCount:filter(and(or(in("dt.entity.service", (100)*
entitySelector("type(service), ((builtin:service.errors.server.successCount:filter(
entityName.in( and(
~"LegacyPoiApi - msgsvc - prod~" or(
) in(
"))))):splitBy()) "dt.entity.service",
/ entitySelector("type(service),
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service), entityName.in(
entityName.in( ~"LegacyPoiApi - msgsvc - prod~"
~"LegacyPoiApi - msgsvc - prod~" )
) ")
"))))):splitBy())) )
EOT )
)):splitBy())
/
(builtin:service.requestCount.total:filter(
and(
or(
in(
"dt.entity.service",
entitySelector("type(service),
entityName.in(
~"LegacyPoiApi - msgsvc - prod~"
)
")
)
)
)):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,36 +4,53 @@ module TP_Mobile_Send2VehicleMGU {
name = "TP_Mobile_Send2VehicleMGU" name = "TP_Mobile_Send2VehicleMGU"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((builtin:service.keyRequest.errors.server.successCount:filter(
type(~"SERVICE~"),entityName.in( and(
~"TripService - PROD~" or(
) in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TripService - PROD~"
)
)
,entityName.in(
~"/v2/motorist/[UUID]/trips~",
~"/v3/motorist/[UUID]/trips~"
)")
) )
,entityName.in( ))):splitBy())
~"/v2/motorist/[UUID]/trips~", /
~"/v3/motorist/[UUID]/trips~" (builtin:service.keyRequest.count.server:filter(
)"))))):splitBy()) and(
/ or(
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), in(
fromRelationship.isServiceMethodOfService( "dt.entity.service_method",
type(~"SERVICE~"),entityName.in( entitySelector(
~"TripService - PROD~" "type(service_method),
) fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TripService - PROD~"
)
)
,entityName.in(
~"/v2/motorist/[UUID]/trips~",
~"/v3/motorist/[UUID]/trips~"
)")
) )
,entityName.in( ))):splitBy()))
~"/v2/motorist/[UUID]/trips~", EOT
~"/v3/motorist/[UUID]/trips~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,27 +4,55 @@ module TP_Mobile_VehicleData {
name = "TP_Mobile_VehicleData" name = "TP_Mobile_VehicleData"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((builtin:service.keyRequest.errors.server.successCount:filter(
type(~"SERVICE~"),entityName.in( and(
or(
in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-composite-service - PROD~", ~"btc-vehicle-composite-service - PROD~",
~"VehicleService - PROD~" ~"VehicleService - PROD~"
) )
) )
,entityName.in( ,entityName.in(
~"GET /api/v1/vehicles/<VIN>/state~", ~"GET /api/v1/vehicles/<VIN>/state~",
~"GET /v1/vehicle/<VIN>~", ~"GET /v1/vehicle/<VIN>~"
~"GET /v2/vehicle/<VIN>~" )")
)")))):splitBy()) )
EOT ))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(
and(
or(
in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-composite-service - PROD~",
~"VehicleService - PROD~"
)
)
,entityName.in(
~"GET /api/v1/vehicles/<VIN>/state~",
~"GET /v1/vehicle/<VIN>~"
)")
)
))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,7 +4,7 @@ module TP_Mobile_VehicleList {
name = "TP_Mobile_VehicleList" name = "TP_Mobile_VehicleList"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object

View File

@ -5,7 +5,7 @@ module TP_Vehicle_AppDistribution {
name = "TP_Vehicle_AppDistribution" name = "TP_Vehicle_AppDistribution"
description = "CoCo-QM-Report_Vehicle" description = "CoCo QM-Report_Vehicle"

View File

@ -1,53 +0,0 @@
module TP_Vehicle_Login {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Vehicle_Login"
description = "CoCo-QM-Report_Vehicle"
#entity selector object
filter = ""
#metric expression of the calculation as done in data explorer ui
metric_expression = <<-EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TokenResource - cac - prod~",
~"CredentialInfoResource - cac - prod~"
)
)
,entityName.in(
~"POST authorize password~",
~"POST authorize device_code~",
~"validateUser~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TokenResource - cac - prod~",
~"CredentialInfoResource - cac - prod~"
)
)
,entityName.in(
~"POST authorize password~",
~"POST authorize device_code~",
~"validateUser~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
#currently the only possible value
evaluation = "AGGREGATE"
#Target and warning percentage of the SLO as double
target = 98 #if not set(removed) it's defaulted to 98
warning = 99 #if not set(removed) it's defaulted to 99
}

View File

@ -15,10 +15,15 @@ module TP_Vehicle_RTTI {
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<EOT
(100)-(builtin:service.errors.fivexx.rate:filter(and(or(in("dt.entity.service",entitySelector("type(service), (100)*((builtin:service.errors.fivexx.successCount:filter(and(or(in("dt.entity.service",entitySelector("type(service),
entityName.equals( entityName.equals(
~"Netty on 0.0.0.0:8080 - rtti - prod~" ~"Netty on 0.0.0.0:8080 - rtti - prod~"
)"))))):splitBy()) )"))))):splitBy())
/
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service),
entityName.equals(
~"Netty on 0.0.0.0:8080 - rtti - prod~"
)"))))):splitBy()))
EOT EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"

View File

@ -12,36 +12,74 @@ module TP_Vehicle_Teleservices {
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<-EOT metric_expression = <<-EOT
(100)-(builtin:service.errors.total.rate:filter(and(in("dt.entity.service",entitySelector("type(service), (100)*(((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
entityName.in( fromRelationship.isServiceMethodOfService(
~"ifs-001 (Kinesis) CCM - teleservices - prod~", type(~"SERVICE~"),entityName.in(
~"ifs-001 (Kinesis) TyreWsIncoming - IN - teleservices - prod~", ~"api.bmwgroup.com - PROD~",
~"ifs-001 (Kinesis) TyreDiIncoming - IN - teleservices - prod~", ~"MnoApiImpl - cesim - prod~"))
~"ifs-003 (JOYNR) triggerPdmContainerUpdate/notifyPdmContainerStatus - IN/OUT - teleservices - prod~", ,entityName.in(
~"ifs-003 (JOYNR) triggerWhitelistUpdate/notifyWhitelistStatus - IN/OUT - wlupdater - prod~", ~"/am-cesim/mno-info/v1/mnos/premium/countries~",
~"ifs-003 (JOYNR) triggerStandardOdfUpdate/notifyOdfStatus - IN/OUT - wlupdater - prod~", ~"/am-cesim/mno-info/v1/mnos/premium/redirect-urls/[mno_id]~",
~"ifs-003 (JOYNR) start/stop/notifyTemporaryOdfStatus - INT/OUT - wlupdater - prod~", ~"/am-cesim/mno-info/v1/mnos/premium/[country_code]~",
~"ifs-007 (JOYNR) requestPdmResult/notifyPdmResult - IN/OUT - teleservices - prod~", ~"/am-cesim/csim-info/v1/csims/subscriptions~",
~"ifs-002 (JOYNR) request/notifyKeyData - IN/OUT - teleservices - prod~", ~"/am-cesim/csim-info/v1/csims/profiles~",
~"ifs-002 (JOYNR) notifyRSUStatus - IN - teleservices - prod~", ~"/am-cesim/management/v1/subscriptions/invalidate~",
~"VDLM_scallservice - VDLM_scallservice - ifs-002 (JOYNR) notifyMaintenanceStatus - IN - prod~", ~"/am-cesim/management/v1/profiles/[iccid]~",
~"VDLM_scallservice - VDLM_scallservice - ifs-002 (JOYNR) requestMaintenanceStatus/confirmMaintenanceStatus - OUT - prod~", ~"sendMnoToken~",
~"ifs-005 (JOYNR) notify/confirmBatteryStatus - IN/OUT - teleservices - prod~", ~"submitActivationCode~",
~"ifs-007 (JOYNR) requestDiagResult/notifyDiagResult - IN/OUT - teleservices - prod~", ~"notifyMnoTokenInvalid~")"))))):splitBy())
~"ifs-005 (SQS) TscsCallTopic - IN - teleservices - prod~", + (builtin:service.keyRequest.errors.fivexx.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
~"ifs-006 (SQS) TsddCallTopic - IN - teleservices - prod~", fromRelationship.isServiceMethodOfService(
~"ifs-010 (SQS) RtcadCallTopic - IN - teleservices - prod~", type(~"SERVICE~"),entityName.in(
~"VDLM_seam - ifs-004 (SQS) ServiceDemand - IN - teleservices - prod~", ~"docomo-ccar.com~",
~"VDLM_seam - ifs-004 (SQS) ServiceDemand - IN - teleservices - prod~", ~"b2b-secproxy.telekom.de~",
~"ifs-003 (MQS) MguItsnIn/Out (ClassificationRequest/Response) - IN/OUT - teleservices - prod~", ~"eu2.api.vodafone.com~",
~"ifs-003 (MQS) MguItsnIn/Out (DiagnosisRequest/Response) - IN/OUT - teleservices - prod~", ~"api.swisscom.com~"))
~"ifs-005 (MQS) BCallHandlerIstaIn/Out - IN/OUT - teleservices - prod~", ,entityName.in(
~"ifs-001 (SQS) BCallIn/Out - IN/OUT - teleservices - prod~", ~"https://docomo-ccar.com/api/activation-code-requests/[UUID]~",
~"VDLM_ts-asc - ifs-001 (SQS) AscIn/Out - IN/OUT - prod~", ~"https://docomo-ccar.com/api/statuses/[UUID]~",
~"InternalApiResourceV2 - teleservices - prod~", ~"https://docomo-ccar.com/api/users/[UUID]~",
~"VDLM_rtchandler - ifs-010 (SQS) RtcTeleXIn/Out - IN/OUT - prod~", ~"https://b2b-secproxy.telekom.de:449/rest/latest/ProductionInfrastructure/tmo.external.bmw.architecture.BMW/REST/BmwSmartConnect/up/BmwSmartConnect/v1/activation-code-requests/[UUID]~",
~"ckf.bmwgroup.net~" ~"https://b2b-secproxy.telekom.de:449/rest/latest/ProductionInfrastructure/tmo.external.bmw.architecture.BMW/REST/BmwSmartConnect/up/BmwSmartConnect/v1/statuses/[UUID]~",
)")))):splitBy()) ~"https://b2b-secproxy.telekom.de:449/rest/latest/ProductionInfrastructure/tmo.external.bmw.architecture.BMW/REST/BmwSmartConnect/up/BmwSmartConnect/v1/users/[UUID]~",
~"https://eu2.api.vodafone.com/BMWPartnerCeSIM/v1/activation-code-requests/[UUID]~",
~"https://eu2.api.vodafone.com/BMWPartnerCeSIM/v1/users/[UUID]~",
~"https://api.swisscom.com/layer/bmw-mno/prod/activation-code-requests/[UUID]~",
~"https://api.swisscom.com/layer/bmw-mno/prod/users/[UUID]~")"))))):splitBy()))
/ ((builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"api.bmwgroup.com - PROD~",
~"MnoApiImpl - cesim - prod~"))
,entityName.in(
~"/am-cesim/mno-info/v1/mnos/premium/countries~",
~"/am-cesim/mno-info/v1/mnos/premium/redirect-urls/[mno_id]~",
~"/am-cesim/mno-info/v1/mnos/premium/[country_code]~",
~"/am-cesim/csim-info/v1/csims/subscriptions~",
~"/am-cesim/csim-info/v1/csims/profiles~",
~"/am-cesim/management/v1/subscriptions/invalidate~",
~"/am-cesim/management/v1/profiles/[iccid]~",
~"sendMnoToken~",
~"submitActivationCode~",
~"notifyMnoTokenInvalid~")"))))):splitBy())
+ (builtin:service.keyRequest.count.total:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"docomo-ccar.com~",
~"b2b-secproxy.telekom.de~",
~"eu2.api.vodafone.com~",
~"api.swisscom.com~"))
,entityName.in(
~"https://docomo-ccar.com/api/activation-code-requests/[UUID]~",
~"https://docomo-ccar.com/api/statuses/[UUID]~",
~"https://docomo-ccar.com/api/users/[UUID]~",
~"https://b2b-secproxy.telekom.de:449/rest/latest/ProductionInfrastructure/tmo.external.bmw.architecture.BMW/REST/BmwSmartConnect/up/BmwSmartConnect/v1/activation-code-requests/[UUID]~",
~"https://b2b-secproxy.telekom.de:449/rest/latest/ProductionInfrastructure/tmo.external.bmw.architecture.BMW/REST/BmwSmartConnect/up/BmwSmartConnect/v1/statuses/[UUID]~",
~"https://b2b-secproxy.telekom.de:449/rest/latest/ProductionInfrastructure/tmo.external.bmw.architecture.BMW/REST/BmwSmartConnect/up/BmwSmartConnect/v1/users/[UUID]~",
~"https://eu2.api.vodafone.com/BMWPartnerCeSIM/v1/activation-code-requests/[UUID]~",
~"https://eu2.api.vodafone.com/BMWPartnerCeSIM/v1/users/[UUID]~",
~"https://api.swisscom.com/layer/bmw-mno/prod/activation-code-requests/[UUID]~",
~"https://api.swisscom.com/layer/bmw-mno/prod/users/[UUID]~" )"))))):splitBy())))
EOT EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"

View File

@ -5,7 +5,7 @@ module TP_Vehicle_eRoute {
name = "TP_Vehicle_eRoute" name = "TP_Vehicle_eRoute"
description = "CoCo-QM-Report_Vehicle" description = "CoCo QM-Report_Vehicle"

View File

@ -15,10 +15,15 @@ module Wirkkette__RTTI-Service__-_Reliability_of_key_requests {
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<EOT
(100)-(builtin:service.errors.fivexx.rate:filter(and(or(in("dt.entity.service",entitySelector("type(service), (100)*((builtin:service.errors.fivexx.successCount:filter(and(or(in("dt.entity.service",entitySelector("type(service),
entityName.equals( entityName.equals(
~"Netty on 0.0.0.0:8080 - rtti - prod~" ~"Netty on 0.0.0.0:8080 - rtti - prod~"
)"))))):splitBy()) )"))))):splitBy())
/
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service),
entityName.equals(
~"Netty on 0.0.0.0:8080 - rtti - prod~"
)"))))):splitBy()))
EOT EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"

View File

@ -15,35 +15,22 @@ module Wirkkette__Remote_Services__-_Reliability_of_key_requests {
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<EOT
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService( fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in( type(~"SERVICE~"),entityName.in(
~"btc-vehicle-remote-commands-composite-service - PROD~" ~"btc-destination-composite-service - PROD~"
) )
) )
,entityName.in( ,entityName.in(
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~", ~"POST /api/v2/favorites/~",
~"POST /api/v3/presentation/remote-commands/<VIN>/door-lock~", ~"POST /api/v3/favorites/~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~", ~"GET /api/v2/favorites/~",
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-now~", ~"GET /api/v3/favorites/~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~", ~"GET /api/v1/favorites~",
~"POST /api/v3/presentation/remote-commands/<VIN>/door-unlock~", ~"PUT /api/v2/favorites/<favoriteId>~",
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~", ~"PUT /api/v3/favorites/<favoriteId>~",
~"POST /api/v3/presentation/remote-commands/<VIN>/vehicle-finder~", ~"PUT /api/v2/favorites/homework/1~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~", ~"PUT /api/v2/favorites/homework/2~"
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-timer~",
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
~"POST /api/v3/presentation/remote-commands/<VIN>/light-flash~",
~"GET /api/v1/presentation/remote-history/<VIN>~",
~"GET /api/v2/presentation/remote-history/<VIN>~",
~"GET /api/v3/presentation/remote-history/<VIN>~",
~"POST /api/v2/presentation/remote-commands/<VIN>/charging-profile~",
~"POST /api/v2/presentation/remote-commands/eventPosition~",
~"POST /api/v3/presentation/remote-commands/eventPosition~",
~"POST /api/v3/presentation/remote-commands/eventStatus~",
~"POST /api/v2/presentation/remote-commands/eventStatus~"
)"))))):splitBy()) )"))))):splitBy())
EOT EOT

View File

@ -1,51 +0,0 @@
module TP_Mobile_DigitalKey {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_DigitalKey"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((1)-(builtin:service.keyRequest.errors.fivexx.count:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TrackApi - smc - PROD~",
~"digital-key-composite-service - PROD~"
)
),entityName.in(
~"trackKey~",
~"manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TrackApi - smc - PROD~",
~"digital-key-composite-service - PROD~"
)
),entityName.in(
~"trackKey~",
~"manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,59 +0,0 @@
module TP_Mobile_Login {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_Login"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-user-composite-service - PROD~",
~"btc-cn-connected-oauth-service - PROD~"
)
),entityName.in(
~"GET /api/v1/presentation/profile-account~",
~"GET /api/v2/presentation/profile-account~",
~"POST /api/v2/presentation/profile-account~",
~"GET /api/v1/presentation/profile-tab/contacts~",
~"POST /api/v2/cop/login/pwd~",
~"POST /api/v2/cop/login/sms~",
~"POST /api/v2/cop/sso~",
~"GET /api/v1/cop/logout~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-user-composite-service - PROD~",
~"btc-cn-connected-oauth-service - PROD~"
)
),entityName.in(
~"GET /api/v1/presentation/profile-account~",
~"GET /api/v2/presentation/profile-account~",
~"POST /api/v2/presentation/profile-account~",
~"GET /api/v1/presentation/profile-tab/contacts~",
~"POST /api/v2/cop/login/pwd~",
~"POST /api/v2/cop/login/sms~",
~"POST /api/v2/cop/sso~",
~"GET /api/v1/cop/logout~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,55 +0,0 @@
module TP_Mobile_Mapping {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_Mapping"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-user-composite-service - PROD~",
~"vehicle-mapping-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v2/presentation/users/validate~",
~"POST /api/v2/vehicles/<VIN>/primary~",
~"POST /api/v2/vehicles/<VIN>/primary/map~",
~"POST /api/v1/vehicles/<VIN>/validate-security-code~",
~"POST /api/v1/vehicles/<VIN>/resend-security-code~",
~"DELETE /api/v1/vehicles/<VIN>~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-user-composite-service - PROD~",
~"vehicle-mapping-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v2/presentation/users/validate~",
~"POST /api/v2/vehicles/<VIN>/primary~",
~"POST /api/v2/vehicles/<VIN>/primary/map~",
~"POST /api/v1/vehicles/<VIN>/validate-security-code~",
~"POST /api/v1/vehicles/<VIN>/resend-security-code~",
~"DELETE /api/v1/vehicles/<VIN>~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,47 +0,0 @@
module TP_Mobile_PersonalFavorites {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_PersonalFavorites"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-destination-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v3/favorites/~",
~"POST /api/v3/favorites/~",
~"PUT /api/v3/favorites/<favoriteId>~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-destination-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v3/favorites/~",
~"POST /api/v3/favorites/~",
~"PUT /api/v3/favorites/<favoriteId>~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,57 +0,0 @@
module TP_Mobile_Remote360 {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_Remote360"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"remote-360-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v1/events/[UUID]~",
~"POST /api/v1/events/[UUID]/cancel~",
~"POST /api/v1/event/execute~",
~"GET /api/v1/download/[UUID]/<fileName>~",
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
~"GET /api/v1/vehicle/<VIN>/key~",
~"GET /api/v1/recordings/vehicle/<VIN>~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"remote-360-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v1/events/[UUID]~",
~"POST /api/v1/events/[UUID]/cancel~",
~"POST /api/v1/event/execute~",
~"GET /api/v1/download/[UUID]/<fileName>~",
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
~"GET /api/v1/vehicle/<VIN>/key~",
~"GET /api/v1/recordings/vehicle/<VIN>~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,61 +0,0 @@
module TP_Mobile_RemoteServices {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_RemoteServices"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-remote-commands-composite-service - PROD~"
)
),entityName.in(
~"POST /api/v2/presentation/remote-commands/eventStatus~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
~"GET /api/v2/presentation/remote-history/<VIN>~",
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
~"GET /api/v1/presentation/remote-history/<VIN>~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-remote-commands-composite-service - PROD~"
)
),entityName.in(
~"POST /api/v2/presentation/remote-commands/eventStatus~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
~"GET /api/v2/presentation/remote-history/<VIN>~",
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
~"GET /api/v1/presentation/remote-history/<VIN>~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,34 +0,0 @@
module TP_Mobile_Send2VehicleLegacy {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_Send2VehicleLegacy"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((:filter(and(or(in("dt.entity.service",entitySelector("type(service),entityName.in(
~"~"
)"))))):splitBy())
/
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service),
entityName.in(
~"~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,45 +0,0 @@
module TP_Mobile_Send2VehicleMGU {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_Send2VehicleMGU"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TripService - PROD~"
)
),entityName.in(
~"/v3/motorist/[UUID]/trips~",
~"/v2/motorist/[UUID]/trips~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TripService - PROD~"
)
),entityName.in(
~"/v3/motorist/[UUID]/trips~",
~"/v2/motorist/[UUID]/trips~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,43 +0,0 @@
module TP_Mobile_VehicleData {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_VehicleData"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v1/vehicles~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v1/vehicles~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,43 +0,0 @@
module TP_Mobile_VehicleList {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_VehicleList"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v1/vehicles~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-composite-service - PROD~"
)
),entityName.in(
~"GET /api/v1/vehicles~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,34 +0,0 @@
module TP_Vehicle_FTS {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Vehicle_FTS"
description = "CoCo-QM-Report_Draft"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"POIs~"
)
),entityName.in(
~"getPOIs (FTS Calls)~"
)"))))):splitBy())
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,35 +0,0 @@
module TP_Vehicle_RTTI {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Vehicle_RTTI"
description = "CoCo-QM-Report_Vehicle"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((builtin:service.errors.fivexx.successCount:filter(and(or(in("dt.entity.service",entitySelector("type(service),
entityName.equals(
~"Netty on 0.0.0.0:8080 - rtti - prod~"
)"))))):splitBy())
/
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service),
entityName.equals(
~"Netty on 0.0.0.0:8080 - rtti - prod~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -1,37 +0,0 @@
module TP_Vehicle_eRoute {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Vehicle_eRoute"
description = "CoCo QM-Report_Vehicle"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"Netty on 0.0.0.0:8080 - eroute-ext - prod~",
~"Netty on 0.0.0.0:8080 - eroute-adapter - prod~"
)
),entityName.in(
~"/api/eu/2.5/eroute/protobuf3~",
~"/api/eu/2.5/eroute-costs/protobuf3~",
~"/route/eroute~"
)"))))):splitBy())
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

View File

@ -2,7 +2,7 @@ resource "dynatrace_management_zone" "PD_AccountManagementConnectedCar" {
name = "PD_AccountManagementConnectedCar" name = "PD_AccountManagementConnectedCar"
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-ECS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")" selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-CNS\",\"compass-id:AM-ECS\",\"compass-id:AM-LMCS\",\"compass-id:AM-Proxy\",\"compass-id:AM-Store\",\"compass-id:AM-SVMS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:AM-VMS\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true

View File

@ -2,11 +2,11 @@ resource "dynatrace_management_zone" "PD_ConnectedDriveStoreBackend" {
name = "PD_ConnectedDriveStoreBackend" name = "PD_ConnectedDriveStoreBackend"
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"Component:am-store\",\"compass-id:AM-Store\")" selector = "type(Service),tag(\"compass-id:Buffet-Birt\",\"compass-id:Buffet-CIC-Backend\",\"compass-id:Buffet-Core\",\"compass-id:Buffet-External-CDM\",\"compass-id:Buffet-External-Offer\",\"compass-id:Buffet-External-Payment\",\"compass-id:Buffet-External-Tax\",\"compass-id:Buffet-GAM\",\"compass-id:Buffet-IF33\",\"compass-id:Buffet-IF38\",\"compass-id:Buffet-IF41\",\"compass-id:Buffet-IF50\",\"compass-id:Buffet-IF51\",\"compass-id:Buffet-IF52\",\"compass-id:Buffet-IF53\",\"compass-id:Buffet-IF54\",\"compass-id:Buffet-IF58\",\"compass-id:Buffet-IF60\",\"compass-id:Buffet-IF90\",\"compass-id:Buffet-Promo-API\",\"compass-id:IME-CDS\",\"compass-id:IME-CS\",\"compass-id:IME-RDC\",\"compass-id:IME-SS\",\"compass-id:IME-WS\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:buffet-if56\",\"compass-id:Buffet-Birt\",\"compass-id:Buffet-CIC-Backend\",\"compass-id:Buffet-Core\",\"compass-id:Buffet-External-CDM\",\"compass-id:Buffet-External-Offer\",\"compass-id:Buffet-External-Payment\",\"compass-id:Buffet-External-Tax\",\"compass-id:Buffet-GAM\",\"compass-id:Buffet-IF33\",\"compass-id:Buffet-IF38\",\"compass-id:Buffet-IF41\",\"compass-id:Buffet-IF50\",\"compass-id:Buffet-IF51\",\"compass-id:Buffet-IF52\",\"compass-id:Buffet-IF53\",\"compass-id:Buffet-IF54\",\"compass-id:Buffet-IF58\",\"compass-id:Buffet-IF60\",\"compass-id:Buffet-IF90\",\"compass-id:Buffet-Promo-API\",\"compass-id:IME-CDS\",\"compass-id:IME-CS\",\"compass-id:IME-RDC\",\"compass-id:IME-SS\",\"compass-id:IME-WS\")" selector = "type(Service),tag(\"Component:am-store\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true

View File

@ -2,14 +2,14 @@ resource "dynatrace_management_zone" "PD_ConnectedUserProfileServices" {
name = "PD_ConnectedUserProfileServices" name = "PD_ConnectedUserProfileServices"
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:AM-CNS\",\"compass-id:am-config\",\"compass-id:am-lmcs\",\"compass-id:AM-Proxy\",\"compass-id:AM-SVMS\",\"compass-id:AM-VMS\",\"compass-id:MAPPING-STUB\",\"compass-id:UMS-UI\")" selector = "type(Service),tag(\"compass-id:OMC Table Storage Expiration Service\",\"compass-id:omc-client-analytics-hub-consumer-ms\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:ecsm\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")" selector = "type(Service),tag(\"compass-id:dpm\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:agent-service\")" selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")"
} }
} }

View File

@ -1,9 +1,5 @@
resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" { resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
name = "PD_InfotainmentInteractivityServices" name = "PD_InfotainmentInteractivityServices"
entity_selector_based_rule {
enabled = true
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")" selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"
@ -24,8 +20,4 @@ resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:cm-config\",\"compass-id:cm-gracenote\",\"compass-id:cm-spotify\",\"compass-id:cm-ximalaya\",\"compass-id:OED\",\"compass-id:OED-CN\",\"compass-id:OEG\",\"compass-id:OEG-CN\",\"compass-id:OEO\",\"compass-id:OEO-CN\",\"compass-id:OEP\",\"compass-id:OEP-CN\",\"compass-id:OES\",\"compass-id:OES-CN\",\"compass-id:OET\",\"compass-id:OET-CN\",\"compass-id:shortvideo\")" selector = "type(Service),tag(\"compass-id:cm-config\",\"compass-id:cm-gracenote\",\"compass-id:cm-spotify\",\"compass-id:cm-ximalaya\",\"compass-id:OED\",\"compass-id:OED-CN\",\"compass-id:OEG\",\"compass-id:OEG-CN\",\"compass-id:OEO\",\"compass-id:OEO-CN\",\"compass-id:OEP\",\"compass-id:OEP-CN\",\"compass-id:OES\",\"compass-id:OES-CN\",\"compass-id:OET\",\"compass-id:OET-CN\",\"compass-id:shortvideo\")"
} }
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:iisc-ds\",\"compass-id:iisc-ir\",\"compass-id:iisc-ls\",\"compass-id:iisc-rr\",\"compass-id:iisc-tmpp-au\",\"compass-id:iisc-tmpp-mf\",\"compass-id:iisc-tmpp-wp\",\"compass-id:tmpp-wechat-proxy\")"
}
} }

View File

@ -2,7 +2,7 @@ resource "dynatrace_management_zone" "PD_AccountManagementConnectedCar" {
name = "PD_AccountManagementConnectedCar" name = "PD_AccountManagementConnectedCar"
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-ECS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")" selector = "type(Service),tag(\"compass-id:AM-BPM\",\"compass-id:AM-CASA\",\"compass-id:am-cloud\",\"compass-id:AM-CNS\",\"compass-id:AM-ECS\",\"compass-id:AM-LMCS\",\"compass-id:AM-Proxy\",\"compass-id:AM-Store\",\"compass-id:AM-SVMS\",\"compass-id:AM-USAGE\",\"compass-id:AM-VAS\",\"compass-id:AM-Vehicle\",\"compass-id:AM-VMS\",\"compass-id:Countly\",\"compass-id:TAMSArchive\",\"compass-id:TestdataTool\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true

View File

@ -2,14 +2,14 @@ resource "dynatrace_management_zone" "PD_ConnectedDriveStoreBackend" {
name = "PD_ConnectedDriveStoreBackend" name = "PD_ConnectedDriveStoreBackend"
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"Component:am-store\",\"compass-id:AM-Store\")" selector = "type(Service),tag(\"compass-id:Concat\",\"compass-id:Connected-Catalog\")"
}
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"Component:am-store\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:buffet-if56\",\"compass-id:Buffet-Birt\",\"compass-id:Buffet-CIC-Backend\",\"compass-id:Buffet-Core\",\"compass-id:Buffet-External-CDM\",\"compass-id:Buffet-External-Offer\",\"compass-id:Buffet-External-Payment\",\"compass-id:Buffet-External-Tax\",\"compass-id:Buffet-GAM\",\"compass-id:Buffet-IF33\",\"compass-id:Buffet-IF38\",\"compass-id:Buffet-IF41\",\"compass-id:Buffet-IF50\",\"compass-id:Buffet-IF51\",\"compass-id:Buffet-IF52\",\"compass-id:Buffet-IF53\",\"compass-id:Buffet-IF54\",\"compass-id:Buffet-IF58\",\"compass-id:Buffet-IF60\",\"compass-id:Buffet-IF90\",\"compass-id:Buffet-Promo-API\",\"compass-id:IME-CDS\",\"compass-id:IME-CS\",\"compass-id:IME-RDC\",\"compass-id:IME-SS\",\"compass-id:IME-WS\")" selector = "type(Service),tag(\"compass-id:buffet-if56\",\"compass-id:Buffet-Birt\",\"compass-id:Buffet-CIC-Backend\",\"compass-id:Buffet-Core\",\"compass-id:Buffet-External-CDM\",\"compass-id:Buffet-External-Offer\",\"compass-id:Buffet-External-Payment\",\"compass-id:Buffet-External-Tax\",\"compass-id:Buffet-GAM\",\"compass-id:Buffet-IF33\",\"compass-id:Buffet-IF38\",\"compass-id:Buffet-IF41\",\"compass-id:Buffet-IF50\",\"compass-id:Buffet-IF51\",\"compass-id:Buffet-IF52\",\"compass-id:Buffet-IF53\",\"compass-id:Buffet-IF54\",\"compass-id:Buffet-IF58\",\"compass-id:Buffet-IF60\",\"compass-id:Buffet-IF90\",\"compass-id:Buffet-Promo-API\",\"compass-id:IME-CDS\",\"compass-id:IME-CS\",\"compass-id:IME-RDC\",\"compass-id:IME-SS\",\"compass-id:IME-WS\")"
} }
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:Concat\",\"compass-id:Connected-Catalog\")"
}
} }

View File

@ -1,15 +1,31 @@
resource "dynatrace_management_zone" "PD_ConnectedUserProfileServices" { resource "dynatrace_management_zone" "PD_ConnectedUserProfileServices" {
name = "PD_ConnectedUserProfileServices" name = "PD_ConnectedUserProfileServices"
entity_selector_based_rule { entity_selector_based_rule {
enabled = true # enabled = false
selector = "type(Service),tag(\"compass-id:AM-CNS\",\"compass-id:am-config\",\"compass-id:am-lmcs\",\"compass-id:AM-Proxy\",\"compass-id:AM-SVMS\",\"compass-id:AM-VMS\",\"compass-id:MAPPING-STUB\",\"compass-id:UMS-UI\")" selector = "type(Service),tag(\"compass-id:OMC Table Storage Expiration Service\",\"compass-id:omc-client-analytics-hub-consumer-ms\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:ecsm\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")" selector = "type(Service),tag(\"compass-id:dpm\",\"compass-id:DPP\")"
} }
entity_selector_based_rule { entity_selector_based_rule {
enabled = true # enabled = false
selector = "type(Service),tag(\"compass-id:agent-service\")" selector = "type(Service),tag(\"compass-id:DPM\",\"compass-id:DPP\",\"compass-id:PERSEUS\",\"compass-id:PIABO\",\"compass-id:PIAEP\",\"compass-id:PIAOP\",\"compass-id:PIAPE\")"
}
rules {
type = "SERVICE"
# enabled = false
conditions {
key {
type = "STATIC"
attribute = "SERVICE_NAME"
}
string {
case_sensitive = true
# negate = false
operator = "EQUALS"
value = "ProtectedDppV1RestApi - dpp - prod"
}
}
} }
} }

View File

@ -1,9 +1,5 @@
resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" { resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
name = "PD_InfotainmentInteractivityServices" name = "PD_InfotainmentInteractivityServices"
entity_selector_based_rule {
enabled = true
selector = "type(HTTP_CHECK),entityName(\"InfotainmentInteractivityServices\")"
}
entity_selector_based_rule { entity_selector_based_rule {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")" selector = "type(Service),tag(\"compass-id:ambient-music\",\"compass-id:festive-mode\")"
@ -24,8 +20,4 @@ resource "dynatrace_management_zone" "PD_InfotainmentInteractivityServices" {
enabled = true enabled = true
selector = "type(Service),tag(\"compass-id:cm-config\",\"compass-id:cm-gracenote\",\"compass-id:cm-spotify\",\"compass-id:cm-ximalaya\",\"compass-id:OED\",\"compass-id:OED-CN\",\"compass-id:OEG\",\"compass-id:OEG-CN\",\"compass-id:OEO\",\"compass-id:OEO-CN\",\"compass-id:OEP\",\"compass-id:OEP-CN\",\"compass-id:OES\",\"compass-id:OES-CN\",\"compass-id:OET\",\"compass-id:OET-CN\",\"compass-id:shortvideo\")" selector = "type(Service),tag(\"compass-id:cm-config\",\"compass-id:cm-gracenote\",\"compass-id:cm-spotify\",\"compass-id:cm-ximalaya\",\"compass-id:OED\",\"compass-id:OED-CN\",\"compass-id:OEG\",\"compass-id:OEG-CN\",\"compass-id:OEO\",\"compass-id:OEO-CN\",\"compass-id:OEP\",\"compass-id:OEP-CN\",\"compass-id:OES\",\"compass-id:OES-CN\",\"compass-id:OET\",\"compass-id:OET-CN\",\"compass-id:shortvideo\")"
} }
entity_selector_based_rule {
enabled = true
selector = "type(Service),tag(\"compass-id:iisc-ds\",\"compass-id:iisc-ir\",\"compass-id:iisc-ls\",\"compass-id:iisc-rr\",\"compass-id:iisc-tmpp-au\",\"compass-id:iisc-tmpp-mf\",\"compass-id:iisc-tmpp-wp\",\"compass-id:tmpp-wechat-proxy\")"
}
} }

View File

@ -4,7 +4,7 @@ module TP_Mobile_DigitalKey {
name = "TP_Mobile_DigitalKey" name = "TP_Mobile_DigitalKey"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
@ -12,34 +12,51 @@ module TP_Mobile_DigitalKey {
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<-EOT metric_expression = <<-EOT
(100)*((1)-(builtin:service.keyRequest.errors.fivexx.count:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((1)-(builtin:service.keyRequest.errors.fivexx.count:filter(
type(~"SERVICE~"),entityName.in( and(
~"TrackApi - smc - PROD~", or(
~"digital-key-composite-service - PROD~" in(
) "dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TrackApi - smc - PROD~",
~"digital-key-composite-service - PROD~"
)
)
,entityName.in(
~"POST /smc2-bl/track/v2/trackKey~",
~"POST /smc2-bl/track/v2/manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)")
) )
,entityName.in( ))):splitBy())
~"trackKey~", /
~"manageKey~", (builtin:service.keyRequest.count.server:filter(
~"GET /api/v1/digitalkey/<VIN>/password~", and(
~"GET /api/v1/digitalkey/<VIN>/pairing~" or(
)"))))):splitBy()) in(
/ "dt.entity.service_method",
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), entitySelector(
fromRelationship.isServiceMethodOfService( "type(service_method),
type(~"SERVICE~"),entityName.in( fromRelationship.isServiceMethodOfService(
~"TrackApi - smc - PROD~", type(~"SERVICE~"),entityName.in(
~"digital-key-composite-service - PROD~" ~"TrackApi - smc - PROD~",
) ~"digital-key-composite-service - PROD~"
)
)
,entityName.in(
~"POST /smc2-bl/track/v2/trackKey~",
~"POST /smc2-bl/track/v2/manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)")
) )
,entityName.in( ))):splitBy()))
~"trackKey~", EOT
~"manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,28 +4,57 @@ module TP_Mobile_Login {
name = "TP_Mobile_Login" name = "TP_Mobile_Login"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
((builtin:service.keyRequest.errors.server.successCount:filter(
and(
or(
in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService( fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in( type(~"SERVICE~"),entityName.in(
~"btc-user-composite-service - PROD~", ~"btc-user-composite-service - PROD~",
~"btc-connected-oauth-service - PROD~" ~"btc-connected-oauth-service - PROD~"
) )
) )
,entityName.in( ,entityName.in(
~"GET /api/v1/presentation/oauth/config~", ~"GET /api/v1/presentation/oauth/config~",
~"GET /api/v1/presentation/profile-tab~", ~"GET /api/v1/presentation/profile-tab~",
~"POST /api/v1/oauth/token/identifier~" ~"POST /api/v1/oauth/token/identifier~"
)"))))):splitBy()) )")
)
EOT ))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(
and(
or(
in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-user-composite-service - PROD~",
~"btc-connected-oauth-service - PROD~"
)
)
,entityName.in(
~"GET /api/v1/presentation/oauth/config~",
~"GET /api/v1/presentation/profile-tab~",
~"POST /api/v1/oauth/token/identifier~"
)")
)
))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,7 +4,7 @@ module TP_Mobile_Mapping {
name = "TP_Mobile_Mapping" name = "TP_Mobile_Mapping"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object

View File

@ -4,47 +4,63 @@ module TP_Mobile_PersonalFavorites {
name = "TP_Mobile_PersonalFavorites" name = "TP_Mobile_PersonalFavorites"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)* ((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((builtin:service.keyRequest.errors.server.successCount:filter(
type(~"SERVICE~"),entityName.in( and(
~"btc-destination-composite-service - PROD~" or(
) in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-destination-composite-service - PROD~"
)
)
,entityName.in(
~"POST /api/v2/favorites/~",
~"POST /api/v3/favorites/~",
~"GET /api/v2/favorites/~",
~"GET /api/v3/favorites/~",
~"PUT /api/v2/favorites/<favoriteId>~",
~"PUT /api/v3/favorites/<favoriteId>~",
~"DELETE /api/v2/favorites/<favoriteId>~"
)")
) )
,entityName.in( ))):splitBy())
~"POST /api/v2/favorites/~", /
~"POST /api/v3/favorites/~", (builtin:service.keyRequest.count.server:filter(
~"GET /api/v2/favorites/~", and(
~"GET /api/v3/favorites/~", or(
~"PUT /api/v2/favorites/<favoriteId>~", in(
~"PUT /api/v3/favorites/<favoriteId>~", "dt.entity.service_method",
~"DELETE /api/v2/favorites/<favoriteId>~" entitySelector(
)"))))):splitBy()) "type(service_method),
/ fromRelationship.isServiceMethodOfService(
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), type(~"SERVICE~"),entityName.in(
fromRelationship.isServiceMethodOfService( ~"btc-destination-composite-service - PROD~"
type(~"SERVICE~"),entityName.in( )
~"btc-destination-composite-service - PROD~" )
) ,entityName.in(
~"POST /api/v2/favorites/~",
~"POST /api/v3/favorites/~",
~"GET /api/v2/favorites/~",
~"GET /api/v3/favorites/~",
~"PUT /api/v2/favorites/<favoriteId>~",
~"PUT /api/v3/favorites/<favoriteId>~",
~"DELETE /api/v2/favorites/<favoriteId>~"
)")
) )
,entityName.in( ))):splitBy()))
~"POST /api/v2/favorites/~", EOT
~"POST /api/v3/favorites/~",
~"GET /api/v2/favorites/~",
~"GET /api/v3/favorites/~",
~"PUT /api/v2/favorites/<favoriteId>~",
~"PUT /api/v3/favorites/<favoriteId>~",
~"DELETE /api/v2/favorites/<favoriteId>~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,32 +4,65 @@ module TP_Mobile_Remote360 {
name = "TP_Mobile_Remote360" name = "TP_Mobile_Remote360"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((builtin:service.keyRequest.errors.server.successCount:filter(
type(~"SERVICE~"),entityName.in( and(
~"remote-360-composite-service - PROD~" or(
) in(
) "dt.entity.service_method",
,entityName.in( entitySelector(
~"GET /api/v1/events/[UUID]~", "type(service_method),
~"POST /api/v1/events/[UUID]/cancel~", fromRelationship.isServiceMethodOfService(
~"POST /api/v1/event/execute~", type(~"SERVICE~"),entityName.in(
~"GET /api/v1/download/[UUID]/<fileName>~", ~"remote-360-composite-service - PROD~"
~"POST /api/v1/download/[UUID]/<fileName>/confirm~", )
~"GET /api/v1/vehicle/<VIN>/egomodelurl~", )
~"GET /api/v1/vehicle/<VIN>/key~", ,entityName.in(
~"GET /api/v1/recordings/vehicle/<VIN>~" ~"GET /api/v1/events/[UUID]~",
)"))))):splitBy()) ~"POST /api/v1/events/[UUID]/cancel~",
~"POST /api/v1/event/execute~",
EOT ~"GET /api/v1/download/[UUID]/<fileName>~",
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
~"GET /api/v1/vehicle/<VIN>/key~",
~"GET /api/v1/recordings/vehicle/<VIN>~"
)")
)
))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(
and(
or(
in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"remote-360-composite-service - PROD~"
)
)
,entityName.in(
~"GET /api/v1/events/[UUID]~",
~"POST /api/v1/events/[UUID]/cancel~",
~"POST /api/v1/event/execute~",
~"GET /api/v1/download/[UUID]/<fileName>~",
~"POST /api/v1/download/[UUID]/<fileName>/confirm~",
~"GET /api/v1/vehicle/<VIN>/egomodelurl~",
~"GET /api/v1/vehicle/<VIN>/key~",
~"GET /api/v1/recordings/vehicle/<VIN>~"
)")
)
))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,46 +4,75 @@ module TP_Mobile_RemoteServices {
name = "TP_Mobile_RemoteServices" name = "TP_Mobile_RemoteServices"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((builtin:service.keyRequest.errors.server.successCount:filter(
type(~"SERVICE~"),entityName.in( and(
~"btc-vehicle-remote-commands-composite-service - PROD~" or(
) in(
) "dt.entity.service_method",
,entityName.in( entitySelector(
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~", "type(service_method),
~"POST /api/v3/presentation/remote-commands/<VIN>/door-lock~", fromRelationship.isServiceMethodOfService(
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~", type(~"SERVICE~"),entityName.in(
~"POST /api/v3/presentation/remote-commands/<VIN>/door-unlock~", ~"btc-vehicle-remote-commands-composite-service - PROD~"
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~", )
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-now~", )
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~", ,entityName.in(
~"POST /api/v3/presentation/remote-commands/<VIN>/vehicle-finder~", ~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~", ~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-timer~", ~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~", ~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
~"POST /api/v3/presentation/remote-commands/<VIN>/light-flash~", ~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~", ~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~", ~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v2/presentation/remote-commands/<VIN>/charging-profile~", ~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v2/presentation/remote-commands/eventPosition~", ~"POST /api/v2/presentation/remote-commands/<VIN>/charging-profile~",
~"POST /api/v3/presentation/remote-commands/eventPosition~", ~"POST /api/v2/presentation/remote-commands/eventPosition~",
~"GET /api/v1/presentation/remote-history/<VIN>~", ~"GET /api/v1/presentation/remote-history/<VIN>~",
~"GET /api/v2/presentation/remote-history/<VIN>~", ~"GET /api/v2/presentation/remote-history/<VIN>~",
~"GET /api/v3/presentation/remote-history/<VIN>~", ~"POST /api/v2/presentation/remote-commands/eventStatus~"
~"POST /api/v3/presentation/remote-commands/eventStatus~", )")
~"POST /api/v2/presentation/remote-commands/eventStatus~" )
)"))))):splitBy()) ))):splitBy())
/
EOT (builtin:service.keyRequest.count.server:filter(
and(
or(
in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-remote-commands-composite-service - PROD~"
)
)
,entityName.in(
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v2/presentation/remote-commands/<VIN>/charging-profile~",
~"POST /api/v2/presentation/remote-commands/eventPosition~",
~"GET /api/v1/presentation/remote-history/<VIN>~",
~"GET /api/v2/presentation/remote-history/<VIN>~",
~"POST /api/v2/presentation/remote-commands/eventStatus~"
)")
)
))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,27 +4,43 @@ module TP_Mobile_Send2VehicleLegacy {
name = "TP_Mobile_Send2VehicleLegacy" name = "TP_Mobile_Send2VehicleLegacy"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)*((builtin:service.errors.server.successCount:filter(and(or(in("dt.entity.service", (100)*
entitySelector("type(service), ((builtin:service.errors.server.successCount:filter(
entityName.in( and(
~"LegacyPoiApi - msgsvc - prod~" or(
) in(
"))))):splitBy()) "dt.entity.service",
/ entitySelector("type(service),
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service), entityName.in(
entityName.in( ~"LegacyPoiApi - msgsvc - prod~"
~"LegacyPoiApi - msgsvc - prod~" )
) ")
"))))):splitBy())) )
EOT )
)):splitBy())
/
(builtin:service.requestCount.total:filter(
and(
or(
in(
"dt.entity.service",
entitySelector("type(service),
entityName.in(
~"LegacyPoiApi - msgsvc - prod~"
)
")
)
)
)):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,36 +4,53 @@ module TP_Mobile_Send2VehicleMGU {
name = "TP_Mobile_Send2VehicleMGU" name = "TP_Mobile_Send2VehicleMGU"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((builtin:service.keyRequest.errors.server.successCount:filter(
type(~"SERVICE~"),entityName.in( and(
~"TripService - PROD~" or(
) in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TripService - PROD~"
)
)
,entityName.in(
~"/v2/motorist/[UUID]/trips~",
~"/v3/motorist/[UUID]/trips~"
)")
) )
,entityName.in( ))):splitBy())
~"/v2/motorist/[UUID]/trips~", /
~"/v3/motorist/[UUID]/trips~" (builtin:service.keyRequest.count.server:filter(
)"))))):splitBy()) and(
/ or(
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), in(
fromRelationship.isServiceMethodOfService( "dt.entity.service_method",
type(~"SERVICE~"),entityName.in( entitySelector(
~"TripService - PROD~" "type(service_method),
) fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TripService - PROD~"
)
)
,entityName.in(
~"/v2/motorist/[UUID]/trips~",
~"/v3/motorist/[UUID]/trips~"
)")
) )
,entityName.in( ))):splitBy()))
~"/v2/motorist/[UUID]/trips~", EOT
~"/v3/motorist/[UUID]/trips~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,27 +4,55 @@ module TP_Mobile_VehicleData {
name = "TP_Mobile_VehicleData" name = "TP_Mobile_VehicleData"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object
filter = "" filter = ""
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<-EOT
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method), (100)*
fromRelationship.isServiceMethodOfService( ((builtin:service.keyRequest.errors.server.successCount:filter(
type(~"SERVICE~"),entityName.in( and(
or(
in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-composite-service - PROD~", ~"btc-vehicle-composite-service - PROD~",
~"VehicleService - PROD~" ~"VehicleService - PROD~"
) )
) )
,entityName.in( ,entityName.in(
~"GET /api/v1/vehicles/<VIN>/state~", ~"GET /api/v1/vehicles/<VIN>/state~",
~"GET /v1/vehicle/<VIN>~", ~"GET /v1/vehicle/<VIN>~"
~"GET /v2/vehicle/<VIN>~" )")
)")))):splitBy()) )
EOT ))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(
and(
or(
in(
"dt.entity.service_method",
entitySelector(
"type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-composite-service - PROD~",
~"VehicleService - PROD~"
)
)
,entityName.in(
~"GET /api/v1/vehicles/<VIN>/state~",
~"GET /v1/vehicle/<VIN>~"
)")
)
))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d" #if not set (removed) it's defaulted to "-1d"
timeframe = "-1d" timeframe = "-1d"

View File

@ -4,7 +4,7 @@ module TP_Mobile_VehicleList {
name = "TP_Mobile_VehicleList" name = "TP_Mobile_VehicleList"
description = "CoCo-QM-Report_Mobile" description = "2.0 SLO Mobile"
#entity selector object #entity selector object

View File

@ -5,7 +5,7 @@ module TP_Vehicle_AppDistribution {
name = "TP_Vehicle_AppDistribution" name = "TP_Vehicle_AppDistribution"
description = "CoCo-QM-Report_Vehicle" description = "CoCo QM-Report_Vehicle"

View File

@ -5,7 +5,7 @@ module TP_Vehicle_FTS {
name = "TP_Vehicle_FTS" name = "TP_Vehicle_FTS"
description = "CoCo-QM-Report_Vehicle" description = "CoCo-QM-Report_Draft"

View File

@ -1,53 +0,0 @@
module TP_Vehicle_Login {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Vehicle_Login"
description = "CoCo-QM-Report_Vehicle"
#entity selector object
filter = ""
#metric expression of the calculation as done in data explorer ui
metric_expression = <<-EOT
(100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TokenResource - cac - prod~",
~"CredentialInfoResource - cac - prod~"
)
)
,entityName.in(
~"POST authorize password~",
~"POST authorize device_code~",
~"validateUser~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TokenResource - cac - prod~",
~"CredentialInfoResource - cac - prod~"
)
)
,entityName.in(
~"POST authorize password~",
~"POST authorize device_code~",
~"validateUser~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
#currently the only possible value
evaluation = "AGGREGATE"
#Target and warning percentage of the SLO as double
target = 98 #if not set(removed) it's defaulted to 98
warning = 99 #if not set(removed) it's defaulted to 99
}

View File

@ -15,10 +15,29 @@ module TP_Vehicle_RTTI {
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<-EOT metric_expression = <<-EOT
(100)-(builtin:service.errors.fivexx.rate:filter(and(or(in("dt.entity.service",entitySelector("type(service), (100)*((builtin:service.keyRequest.errors.server.successCount:filter(and(or(in("dt.entity.service_method",
entityName.equals( entitySelector("type(service_method),
~"Netty on 0.0.0.0:8080 - rtti - prod~" fromRelationship.isServiceMethodOfService(
)"))))):splitBy()) type(~"SERVICE~"),entityName.in(
~"btc-vehicle-composite-service - PROD~"
)
)
,entityName.in(
~"GET /api/v2/vehicles~",
~"GET /api/v4/vehicles~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",
entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"btc-vehicle-composite-service - PROD~"
)
)
,entityName.in(
~"GET /api/v2/vehicles~",
~"GET /api/v4/vehicles~"
)"))))):splitBy()))
EOT EOT

View File

@ -15,10 +15,15 @@ module Wirkkette__RTTI-Service__-_Reliability_of_key_requests {
#metric expression of the calculation as done in data explorer ui #metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT metric_expression = <<EOT
(100)-(builtin:service.errors.fivexx.rate:filter(and(or(in("dt.entity.service",entitySelector("type(service), (100)*((builtin:service.errors.fivexx.successCount:filter(and(or(in("dt.entity.service",entitySelector("type(service),
entityName.equals( entityName.in(
~"Netty on 0.0.0.0:8080 - rtti - prod~" ~"Netty on 0.0.0.0:8080 - rtti - prod~"
)"))))):splitBy()) )"))))):splitBy())
/
(builtin:service.requestCount.total:filter(and(or(in("dt.entity.service",entitySelector("type(service),
entityName.in(
~"Netty on 0.0.0.0:8080 - rtti - prod~"
)"))))):splitBy()))
EOT EOT

View File

@ -23,30 +23,20 @@ module Wirkkette__Remote_Services__-_Reliability_of_key_requests {
) )
,entityName.in( ,entityName.in(
~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~", ~"POST /api/v2/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v3/presentation/remote-commands/<VIN>/door-lock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~", ~"POST /api/v2/presentation/remote-commands/<VIN>/door-unlock~",
~"POST /api/v3/presentation/remote-commands/<VIN>/door-unlock~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~", ~"POST /api/v2/presentation/remote-commands/<VIN>/climate-now~",
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-now~",
~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~", ~"POST /api/v2/presentation/remote-commands/<VIN>/vehicle-finder~",
~"POST /api/v3/presentation/remote-commands/<VIN>/vehicle-finder~",
~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~", ~"POST /api/v2/presentation/remote-commands/<VIN>/climate-timer~",
~"POST /api/v3/presentation/remote-commands/<VIN>/climate-timer~",
~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~", ~"POST /api/v2/presentation/remote-commands/<VIN>/light-flash~",
~"POST /api/v3/presentation/remote-commands/<VIN>/light-flash~",
~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~", ~"POST /api/v3/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~", ~"POST /api/v2/presentation/remote-commands/<VIN>/horn-blow~",
~"POST /api/v2/presentation/remote-commands/<VIN>/charging-profile~", ~"POST /api/v2/presentation/remote-commands/<VIN>/charging-profile~",
~"POST /api/v2/presentation/remote-commands/eventPosition~", ~"POST /api/v2/presentation/remote-commands/eventPosition~",
~"POST /api/v3/presentation/remote-commands/eventPosition~",
~"GET /api/v1/presentation/remote-history/<VIN>~", ~"GET /api/v1/presentation/remote-history/<VIN>~",
~"GET /api/v2/presentation/remote-history/<VIN>~", ~"GET /api/v2/presentation/remote-history/<VIN>~",
~"GET /api/v3/presentation/remote-history/<VIN>~",
~"POST /api/v3/presentation/remote-commands/eventStatus~",
~"POST /api/v2/presentation/remote-commands/eventStatus~" ~"POST /api/v2/presentation/remote-commands/eventStatus~"
)"))))):splitBy()) )"))))):splitBy())
EOT EOT

View File

@ -1,51 +0,0 @@
module TP_Mobile_DigitalKey {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Mobile_DigitalKey"
description = "2.0 SLO Mobile"
# entity selector object
filter = ""
# metric expression of the calculation as done in data explorer ui
metric_expression = <<EOT
(100)*((1)-(builtin:service.keyRequest.errors.fivexx.count:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TrackApi - smc - PROD~",
~"digital-key-composite-service - PROD~"
)
),entityName.in(
~"trackKey~",
~"manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"TrackApi - smc - PROD~",
~"digital-key-composite-service - PROD~"
)
),entityName.in(
~"trackKey~",
~"manageKey~",
~"GET /api/v1/digitalkey/<VIN>/password~",
~"GET /api/v1/digitalkey/<VIN>/pairing~"
)"))))):splitBy()))
EOT
# if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
# currently the only possible value
evaluation = "AGGREGATE"
# target and warning percentage of the SLO as double
target = 98 # if not set(removed) it's defaulted to 98
warning = 99 # if not set(removed) it's defaulted to 99
}

Some files were not shown because too many files have changed in this diff Show More