coco_terraform_config/CN_PROD/slo/TP_Vehicle_Provisioning.tf

121 lines
5.6 KiB
HCL

module TP_Vehicle_Provisioning {
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
name = "TP_Vehicle_Provisioning"
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(
~"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~",
~"NopTriggerAckMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"ProvProtocolMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"NOP-Provisioning (/nop-prov) - provisioning - prod~",
~"ProvisioningService - provisioning - prod~",
~"TriggeringListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"WorkshopProvisioningService - vps-prov - cn~",
~"MQSession$FacadeMessageListener - vps-prov - cn~",
~"MQSession$FacadeMessageListener - vps-trigger - cn~",
~"VpsJoynrApi - vps-prov - cn~",
~"MQSession$FacadeMessageListener - noptrigger - prod~",
~"ProvisioningService - nopprov - prod~",
~"NOP-Provisioning (/nop-prov) - nopprov - prod~"))
,entityName.in(
~"vpsObtainProvisioningSync~",
~"Queue: PROV_TRIGGER_ACK-prod~",
~"Queue: PROV_TRIGGER_INTERNAL-prod~",
~"Queue: PROV_Trigger_IN-prod~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"Queue: NOP_ARCHIVE_IN-prod~",
~"Queue: NOP_Trigger_IN-prod~",
~"Queue: NOP_TRIGGER_ACK-prod~",
~"Queue: NOP_TRIGGER_INTERNAL-prod~",
~"getNOPProvisioningDataForVehicle~",
~"acknowledgeNOPProvisioningDownload~",
~"getNOPProvisioningDataForVehicleBase64~",
~"/nop-prov/v2/mainprov/prov.do~",
~"vpsObtainProvisioningSync~",
~"Queue: B2VCNPROD.BMW.B2VCN.PROV_TRIGGER_INTERNAL~",
~"Queue: B2VCNPROD.BMW.B2VCN.PROV_TRIGGER_IN~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"Queue: B2VCNPROD.BMW.B2VCN.NOP_TRIGGER_IN~",
~"getNOPProvisioningDataForVehicle~",
~"acknowledgeNOPProvisioningDownload~",
~"getNOPProvisioningDataForVehicleBase64~"
)"))))):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~",
~"NopTriggerAckMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"ProvProtocolMessageListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"NOP-Provisioning (/nop-prov) - provisioning - prod~",
~"ProvisioningService - provisioning - prod~",
~"TriggeringListener$Proxy$_$$_Weld$EnterpriseProxy$ - provisioning - prod~",
~"WorkshopProvisioningService - vps-prov - cn~",
~"MQSession$FacadeMessageListener - vps-prov - cn~",
~"MQSession$FacadeMessageListener - vps-trigger - cn~",
~"VpsJoynrApi - vps-prov - cn~",
~"MQSession$FacadeMessageListener - noptrigger - prod~",
~"ProvisioningService - nopprov - prod~",
~"NOP-Provisioning (/nop-prov) - nopprov - prod~"))
,entityName.in(
~"vpsObtainProvisioningSync~",
~"Queue: PROV_TRIGGER_ACK-prod~",
~"Queue: PROV_TRIGGER_INTERNAL-prod~",
~"Queue: PROV_Trigger_IN-prod~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"Queue: NOP_ARCHIVE_IN-prod~",
~"Queue: NOP_Trigger_IN-prod~",
~"Queue: NOP_TRIGGER_ACK-prod~",
~"Queue: NOP_TRIGGER_INTERNAL-prod~",
~"getNOPProvisioningDataForVehicle~",
~"acknowledgeNOPProvisioningDownload~",
~"getNOPProvisioningDataForVehicleBase64~",
~"/nop-prov/v2/mainprov/prov.do~",
~"vpsObtainProvisioningSync~",
~"Queue: B2VCNPROD.BMW.B2VCN.PROV_TRIGGER_INTERNAL~",
~"Queue: B2VCNPROD.BMW.B2VCN.PROV_TRIGGER_IN~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningHeadUnit~",
~"ProvisioningVehicleProvider.sendVehicleDataForProvisioningComUnit~",
~"Queue: B2VCNPROD.BMW.B2VCN.NOP_TRIGGER_IN~",
~"getNOPProvisioningDataForVehicle~",
~"acknowledgeNOPProvisioningDownload~",
~"getNOPProvisioningDataForVehicleBase64~"
)"))))):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
}