Pull request #116: OPMAAS-3848: Update VDM SLOs for VPS after Orbit migration

Merge in OPAPM/coco_terraform_config from feature/vdm-slo-vps to master

* commit '7086fa8486d48864e82ad7695fef16beb684e41b':
  COMFY-1088: Update VDM SLOs for VPS after Orbit migration
feature/vdm-slo-sfa
Markus Dlugi (DE-721) 2023-04-20 07:50:38 +00:00 committed by Arnel Arnautovic (ext.)
commit dd5c30015e
6 changed files with 500 additions and 126 deletions

View File

@ -1,33 +1,95 @@
module VDM_-_VPS_-_CN_E2E {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "VDM - VPS - CN E2E"
description = ""
#entity selector object
filter = "type(SERVICE_METHOD), entityId(\"SERVICE_METHOD-51A2F40CB47D115C\",\"SERVICE_METHOD-390269CF781D9178\",\"SERVICE_METHOD-19CC06683D10AA17\",\"SERVICE_METHOD-FC58B4F6290ACE98\",\"SERVICE_METHOD-74721DFD4F8B9177\",\"SERVICE_METHOD-601C4DF3AD48E7B7\",\"SERVICE_METHOD-E34A4F6D1EFC25A0\",\"SERVICE_METHOD-BD64CB2DAE22361C\")"
name = "VDM - VPS - CN E2E"
description = "Custom Vehicle Device Management (VDM) SLO for Vehicle Provisioning Services (VPS)"
#entity selector object
filter = ""
#metric expression of the calculation as done in data explorer ui
metric_expression = "(100)*((builtin:service.keyRequest.errors.server.successCount:splitBy())/(builtin:service.keyRequest.count.server:splitBy()))"
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(
~"WorkshopProvisioningService - provisioning - e2e~",
~"TriggerProvAckInternalMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"InternalTriggerMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"TriggerInputMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"ProvArchiveInMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"VpsJoynrApi - provisioning - e2e~",
~"WorkshopProvisioningService - vps-prov - cn~",
~"MQSession$FacadeMessageListener - vps-prov - cn~",
~"MQSession$FacadeMessageListener - vps-trigger - cn~",
~"VpsJoynrApi - vps-prov - cn~",
)
)
,entityName.in(
~"vpsObtainProvisioningSync~",
~"Queue: PROV_TRIGGER_ACK-e2e~",
~"Queue: PROV_TRIGGER_INTERNAL-e2e~",
~"Queue: PROV_Trigger_IN-e2e~",
~"Queue: PROV_ARCHIVE_IN-e2e~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"vpsObtainProvisioningSync~",
~"Queue: B2VCNINT.BMW.B2VCN.PROV_TRIGGER_INTERNAL~",
~"Queue: B2VCNINT.BMW.B2VCN.PROV_TRIGGER_IN~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"WorkshopProvisioningService - provisioning - e2e~",
~"TriggerProvAckInternalMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"InternalTriggerMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"TriggerInputMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"ProvArchiveInMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"VpsJoynrApi - provisioning - e2e~",
~"WorkshopProvisioningService - vps-prov - cn~",
~"MQSession$FacadeMessageListener - vps-prov - cn~",
~"MQSession$FacadeMessageListener - vps-trigger - cn~",
~"VpsJoynrApi - vps-prov - cn~",
)
)
,entityName.in(
~"vpsObtainProvisioningSync~",
~"Queue: PROV_TRIGGER_ACK-e2e~",
~"Queue: PROV_TRIGGER_INTERNAL-e2e~",
~"Queue: PROV_Trigger_IN-e2e~",
~"Queue: PROV_ARCHIVE_IN-e2e~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"vpsObtainProvisioningSync~",
~"Queue: B2VCNINT.BMW.B2VCN.PROV_TRIGGER_INTERNAL~",
~"Queue: B2VCNINT.BMW.B2VCN.PROV_TRIGGER_IN~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
#currently the only possible value
evaluation = "AGGREGATE"
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
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,33 +1,95 @@
module VDM_-_VPS_-_CN_PROD {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "VDM - VPS - CN PROD"
description = ""
#entity selector object
filter = "type(SERVICE_METHOD), entityId(\"SERVICE_METHOD-C81BF2A510C393ED\",\"SERVICE_METHOD-F909C27CC5A5A8A9\",\"SERVICE_METHOD-9E006396D32357AF\",\"SERVICE_METHOD-E9DAFC08F88C93D9\",\"SERVICE_METHOD-B23DF0628C035438\",\"SERVICE_METHOD-90267D09C476600D\",\"SERVICE_METHOD-5012D6B107EDF510\",\"SERVICE_METHOD-F3371E4FAD8AF96D\")"
name = "VDM - VPS - CN PROD"
description = "Custom Vehicle Device Management (VDM) SLO for Vehicle Provisioning Services (VPS)"
#entity selector object
filter = ""
#metric expression of the calculation as done in data explorer ui
metric_expression = "(100)*((builtin:service.keyRequest.errors.server.successCount:splitBy())/(builtin:service.keyRequest.count.server:splitBy()))"
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(
~"WorkshopProvisioningService - provisioning - prod~",
~"TriggerProvAckInternalMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"InternalTriggerMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"TriggerInputMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"ProvArchiveInMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"VpsJoynrApi - provisioning - prod~",
~"WorkshopProvisioningService - vps-prov - cn~",
~"MQSession$FacadeMessageListener - vps-prov - cn~",
~"MQSession$FacadeMessageListener - vps-trigger - cn~",
~"VpsJoynrApi - vps-prov - cn~",
)
)
,entityName.in(
~"vpsObtainProvisioningSync~",
~"Queue: PROV_TRIGGER_ACK-prod~",
~"Queue: PROV_TRIGGER_INTERNAL-prod~",
~"Queue: PROV_Trigger_IN-prod~",
~"Queue: PROV_ARCHIVE_IN-prod~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"vpsObtainProvisioningSync~",
~"Queue: B2VCNPROD.BMW.B2VCN.PROV_TRIGGER_INTERNAL~",
~"Queue: B2VCNPROD.BMW.B2VCN.PROV_TRIGGER_IN~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"WorkshopProvisioningService - provisioning - prod~",
~"TriggerProvAckInternalMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"InternalTriggerMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"TriggerInputMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"ProvArchiveInMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"VpsJoynrApi - provisioning - prod~",
~"WorkshopProvisioningService - vps-prov - cn~",
~"MQSession$FacadeMessageListener - vps-prov - cn~",
~"MQSession$FacadeMessageListener - vps-trigger - cn~",
~"VpsJoynrApi - vps-prov - cn~",
)
)
,entityName.in(
~"vpsObtainProvisioningSync~",
~"Queue: PROV_TRIGGER_ACK-prod~",
~"Queue: PROV_TRIGGER_INTERNAL-prod~",
~"Queue: PROV_Trigger_IN-prod~",
~"Queue: PROV_ARCHIVE_IN-prod~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"vpsObtainProvisioningSync~",
~"Queue: B2VCNPROD.BMW.B2VCN.PROV_TRIGGER_INTERNAL~",
~"Queue: B2VCNPROD.BMW.B2VCN.PROV_TRIGGER_IN~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
#currently the only possible value
evaluation = "AGGREGATE"
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
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,33 +1,95 @@
module VDM_-_VPS_-_EMEA_E2E {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "VDM - VPS - EMEA E2E"
description = ""
#entity selector object
filter = "type(SERVICE_METHOD), entityId(\"SERVICE_METHOD-E1CFBADF88F0014B\",\"SERVICE_METHOD-231021E467648F57\",\"SERVICE_METHOD-3E2B13E30792F843\",\"SERVICE_METHOD-F16876D8D70C5913\",\"SERVICE_METHOD-D298972055DC4735\",\"SERVICE_METHOD-B41C307A79B62433\")"
name = "VDM - VPS - EMEA E2E"
description = "Custom Vehicle Device Management (VDM) SLO for Vehicle Provisioning Services (VPS)"
#entity selector object
filter = ""
#metric expression of the calculation as done in data explorer ui
metric_expression = "(100)*((builtin:service.keyRequest.errors.server.successCount:splitBy())/(builtin:service.keyRequest.count.server:splitBy()))"
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(
~"WorkshopProvisioningService - provisioning - e2e~",
~"TriggerProvAckInternalMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"InternalTriggerMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"TriggerInputMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"ProvArchiveInMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"VpsJoynrApi - provisioning - e2e~",
~"WorkshopProvisioningService - vps-prov - e2e~",
~"MQSession$FacadeMessageListener - vps-prov - e2e~",
~"MQSession$FacadeMessageListener - vps-trigger - e2e~",
~"VpsJoynrApi - vps-prov - e2e~"
)
)
,entityName.in(
~"vpsObtainProvisioningSync~",
~"Queue: PROV_TRIGGER_ACK-e2e~",
~"Queue: PROV_TRIGGER_INTERNAL-e2e~",
~"Queue: PROV_Trigger_IN-e2e~",
~"Queue: PROV_ARCHIVE_IN-e2e~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"vpsObtainProvisioningSync~",
~"Queue: B2VINT.BMW.B2V.PROV_TRIGGER_INTERNAL~",
~"Queue: B2VINT.BMW.B2V.PROV_TRIGGER_IN~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"WorkshopProvisioningService - provisioning - e2e~",
~"TriggerProvAckInternalMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"InternalTriggerMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"TriggerInputMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"ProvArchiveInMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"VpsJoynrApi - provisioning - e2e~",
~"WorkshopProvisioningService - vps-prov - e2e~",
~"MQSession$FacadeMessageListener - vps-prov - e2e~",
~"MQSession$FacadeMessageListener - vps-trigger - e2e~",
~"VpsJoynrApi - vps-prov - e2e~"
)
)
,entityName.in(
~"vpsObtainProvisioningSync~",
~"Queue: PROV_TRIGGER_ACK-e2e~",
~"Queue: PROV_TRIGGER_INTERNAL-e2e~",
~"Queue: PROV_Trigger_IN-e2e~",
~"Queue: PROV_ARCHIVE_IN-e2e~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"vpsObtainProvisioningSync~",
~"Queue: B2VINT.BMW.B2V.PROV_TRIGGER_INTERNAL~",
~"Queue: B2VINT.BMW.B2V.PROV_TRIGGER_IN~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
#currently the only possible value
evaluation = "AGGREGATE"
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
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,33 +1,97 @@
module VDM_-_VPS_-_EMEA_PROD {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "VDM - VPS - EMEA PROD"
description = ""
#entity selector object
filter = "type(SERVICE_METHOD), entityId(\"SERVICE_METHOD-B651CDECBE0A438B\",\"SERVICE_METHOD-2F36354B124D7DCF\",\"SERVICE_METHOD-F467D45CE2B03938\",\"SERVICE_METHOD-1101B158CA5A8483\",\"SERVICE_METHOD-5F31DEAA854E71DF\",\"SERVICE_METHOD-2AD8DA253EC86297\",\"SERVICE_METHOD-4EFEA5563F34BCE0\")"
name = "VDM - VPS - EMEA PROD"
description = "Custom Vehicle Device Management (VDM) SLO for Vehicle Provisioning Services (VPS)"
#entity selector object
filter = ""
#metric expression of the calculation as done in data explorer ui
metric_expression = "(100)*((builtin:service.keyRequest.errors.server.successCount:splitBy())/(builtin:service.keyRequest.count.server:splitBy()))"
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(
~"WorkshopProvisioningService - provisioning - prod~",
~"TriggerProvAckInternalMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"InternalTriggerMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"TriggerInputMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"ProvArchiveInMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"VpsJoynrApi - provisioning - prod~",
~"WorkshopProvisioningService - vps-prov - prod~",
~"MQSession$FacadeMessageListener - vps-prov - prod~",
~"MQSession$FacadeMessageListener - vps-trigger - prod~",
~"VpsJoynrApi - vps-prov - prod~"
)
)
,entityName.in(
~"vpsObtainProvisioningSync~",
~"Queue: PROV_TRIGGER_ACK-prod~",
~"Queue: PROV_TRIGGER_INTERNAL-prod~",
~"Queue: PROV_Trigger_IN-prod~",
~"Queue: PROV_ARCHIVE_IN-prod~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"vpsObtainProvisioningSync~",
~"Queue: B2VPROD.BMW.B2V.PROV_TRIGGER_INTERNAL~",
~"Queue: B2VPROD.BMW.B2V.PROV_TRIGGER_IN~",
~"Queue: B2VPROD.BMW.CASA_EMEA.NOP_OUT~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"WorkshopProvisioningService - provisioning - prod~",
~"TriggerProvAckInternalMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"InternalTriggerMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"TriggerInputMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"ProvArchiveInMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"VpsJoynrApi - provisioning - prod~",
~"WorkshopProvisioningService - vps-prov - prod~",
~"MQSession$FacadeMessageListener - vps-prov - prod~",
~"MQSession$FacadeMessageListener - vps-trigger - prod~",
~"VpsJoynrApi - vps-prov - prod~"
)
)
,entityName.in(
~"vpsObtainProvisioningSync~",
~"Queue: PROV_TRIGGER_ACK-prod~",
~"Queue: PROV_TRIGGER_INTERNAL-prod~",
~"Queue: PROV_Trigger_IN-prod~",
~"Queue: PROV_ARCHIVE_IN-prod~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"vpsObtainProvisioningSync~",
~"Queue: B2VPROD.BMW.B2V.PROV_TRIGGER_INTERNAL~",
~"Queue: B2VPROD.BMW.B2V.PROV_TRIGGER_IN~",
~"Queue: B2VPROD.BMW.CASA_EMEA.NOP_OUT~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
#currently the only possible value
evaluation = "AGGREGATE"
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
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,33 +1,95 @@
module VDM_-_VPS_-_US_E2E {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "VDM - VPS - US E2E"
description = ""
#entity selector object
filter = "type(SERVICE_METHOD), entityId(\"SERVICE_METHOD-68ADCB5673DF3E76\",\"SERVICE_METHOD-4937B55017744DFF\",\"SERVICE_METHOD-51A78327CD30960D\",\"SERVICE_METHOD-D6DEEDAB5C7943F1\",\"SERVICE_METHOD-D8B613AD3A21F92C\",\"SERVICE_METHOD-BBABB97F395361EF\",\"SERVICE_METHOD-28AC6CF25E930047\",\"SERVICE_METHOD-47F94ACB83B299AD\")"
name = "VDM - VPS - US E2E"
description = "Custom Vehicle Device Management (VDM) SLO for Vehicle Provisioning Services (VPS)"
#entity selector object
filter = ""
#metric expression of the calculation as done in data explorer ui
metric_expression = "(100)*((builtin:service.keyRequest.errors.server.successCount:splitBy())/(builtin:service.keyRequest.count.server:splitBy()))"
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(
~"WorkshopProvisioningService - provisioning - e2e~",
~"TriggerProvAckInternalMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"InternalTriggerMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"TriggerInputMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"ProvArchiveInMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"VpsJoynrApi - provisioning - e2e~",
~"WorkshopProvisioningService - vps-prov - us~",
~"MQSession$FacadeMessageListener - vps-prov - us~",
~"MQSession$FacadeMessageListener - vps-trigger - us~",
~"VpsJoynrApi - vps-prov - us~"
)
)
,entityName.in(
~"vpsObtainProvisioningSync~",
~"Queue: PROV_TRIGGER_ACK-e2e~",
~"Queue: PROV_TRIGGER_INTERNAL-e2e~",
~"Queue: PROV_Trigger_IN-e2e~",
~"Queue: PROV_ARCHIVE_IN-e2e~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"vpsObtainProvisioningSync~",
~"Queue: B2VUSINT.BMW.B2VUS.PROV_TRIGGER_INTERNAL~",
~"Queue: B2VUSINT.BMW.B2VUS.PROV_TRIGGER_IN~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"WorkshopProvisioningService - provisioning - e2e~",
~"TriggerProvAckInternalMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"InternalTriggerMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"TriggerInputMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"ProvArchiveInMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - e2e~",
~"VpsJoynrApi - provisioning - e2e~",
~"WorkshopProvisioningService - vps-prov - us~",
~"MQSession$FacadeMessageListener - vps-prov - us~",
~"MQSession$FacadeMessageListener - vps-trigger - us~",
~"VpsJoynrApi - vps-prov - us~"
)
)
,entityName.in(
~"vpsObtainProvisioningSync~",
~"Queue: PROV_TRIGGER_ACK-e2e~",
~"Queue: PROV_TRIGGER_INTERNAL-e2e~",
~"Queue: PROV_Trigger_IN-e2e~",
~"Queue: PROV_ARCHIVE_IN-e2e~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"vpsObtainProvisioningSync~",
~"Queue: B2VUSINT.BMW.B2VUS.PROV_TRIGGER_INTERNAL~",
~"Queue: B2VUSINT.BMW.B2VUS.PROV_TRIGGER_IN~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
#currently the only possible value
evaluation = "AGGREGATE"
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
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,33 +1,95 @@
module VDM_-_VPS_-_US_PROD {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "VDM - VPS - US PROD"
description = ""
#entity selector object
filter = "type(SERVICE_METHOD), entityId(\"SERVICE_METHOD-82E8086C7EEAB715\",\"SERVICE_METHOD-90F9EF92ED2FD969\",\"SERVICE_METHOD-F3FFFB4D04AD6C22\",\"SERVICE_METHOD-82AF06A977AE7DDE\",\"SERVICE_METHOD-16C8FCE3C8D5C767\",\"SERVICE_METHOD-6289F2F27D743A54\",\"SERVICE_METHOD-EEA31D10A5CE5289\",\"SERVICE_METHOD-732B9284372615EA\")"
name = "VDM - VPS - US PROD"
description = "Custom Vehicle Device Management (VDM) SLO for Vehicle Provisioning Services (VPS)"
#entity selector object
filter = ""
#metric expression of the calculation as done in data explorer ui
metric_expression = "(100)*((builtin:service.keyRequest.errors.server.successCount:splitBy())/(builtin:service.keyRequest.count.server:splitBy()))"
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(
~"WorkshopProvisioningService - provisioning - prod~",
~"TriggerProvAckInternalMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"InternalTriggerMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"TriggerInputMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"ProvArchiveInMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"VpsJoynrApi - provisioning - prod~",
~"WorkshopProvisioningService - vps-prov - us~",
~"MQSession$FacadeMessageListener - vps-prov - us~",
~"MQSession$FacadeMessageListener - vps-trigger - us~",
~"VpsJoynrApi - vps-prov - us~"
)
)
,entityName.in(
~"vpsObtainProvisioningSync~",
~"Queue: PROV_TRIGGER_ACK-prod~",
~"Queue: PROV_TRIGGER_INTERNAL-prod~",
~"Queue: PROV_Trigger_IN-prod~",
~"Queue: PROV_ARCHIVE_IN-prod~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"vpsObtainProvisioningSync~",
~"Queue: B2VUSPROD.BMW.B2VUS.PROV_TRIGGER_INTERNAL~",
~"Queue: B2VUSPROD.BMW.B2VUS.PROV_TRIGGER_IN~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~"
)"))))):splitBy())
/
(builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method),
fromRelationship.isServiceMethodOfService(
type(~"SERVICE~"),entityName.in(
~"WorkshopProvisioningService - provisioning - prod~",
~"TriggerProvAckInternalMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"InternalTriggerMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"TriggerInputMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"ProvArchiveInMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"VpsJoynrApi - provisioning - prod~",
~"WorkshopProvisioningService - vps-prov - us~",
~"MQSession$FacadeMessageListener - vps-prov - us~",
~"MQSession$FacadeMessageListener - vps-trigger - us~",
~"VpsJoynrApi - vps-prov - us~"
)
)
,entityName.in(
~"vpsObtainProvisioningSync~",
~"Queue: PROV_TRIGGER_ACK-prod~",
~"Queue: PROV_TRIGGER_INTERNAL-prod~",
~"Queue: PROV_Trigger_IN-prod~",
~"Queue: PROV_ARCHIVE_IN-prod~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"vpsObtainProvisioningSync~",
~"Queue: B2VUSPROD.BMW.B2VUS.PROV_TRIGGER_INTERNAL~",
~"Queue: B2VUSPROD.BMW.B2VUS.PROV_TRIGGER_IN~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~"
)"))))):splitBy()))
EOT
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
#if not set (removed) it's defaulted to "-1d"
timeframe = "-1d"
#currently the only possible value
evaluation = "AGGREGATE"
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
target = 98 #if not set(removed) it's defaulted to 98
warning = 99 #if not set(removed) it's defaulted to 99
}