From 9c9e2847b51e645b74de1a26c8d065fbaa867bc3 Mon Sep 17 00:00:00 2001 From: "Diogo Dores (CTW)" Date: Tue, 18 Oct 2022 17:23:52 +0100 Subject: [PATCH] OPMAAS-2671 + INFOTAIN-30044: Add ID5 and ID7 SLOs --- CN_PROD/slo/VCIS_ID5_SessionServiceV1.tf | 33 +++++++++++++++ .../slo/VCIS_ID5_SessionServiceV1_Requests.tf | 41 +++++++++++++++++++ CN_PROD/slo/VCIS_ID7_StoreService.tf | 33 +++++++++++++++ CN_PROD/slo/VCIS_ID7_StoreService_Requests.tf | 41 +++++++++++++++++++ EMEA_PROD/slo/VCIS_ID5_ParkinfoServiceV1.tf | 33 +++++++++++++++ .../VCIS_ID5_ParkinfoServiceV1_Requests.tf | 41 +++++++++++++++++++ EMEA_PROD/slo/VCIS_ID5_SPMServiceV1.tf | 33 +++++++++++++++ .../slo/VCIS_ID5_SPMServiceV1_Requests.tf | 41 +++++++++++++++++++ EMEA_PROD/slo/VCIS_ID5_SessionServiceV1.tf | 33 +++++++++++++++ .../slo/VCIS_ID5_SessionServiceV1_Requests.tf | 41 +++++++++++++++++++ EMEA_PROD/slo/VCIS_ID7_SPMService.tf | 33 +++++++++++++++ EMEA_PROD/slo/VCIS_ID7_SPMService_Requests.tf | 41 +++++++++++++++++++ EMEA_PROD/slo/VCIS_ID7_StoreService.tf | 33 +++++++++++++++ .../slo/VCIS_ID7_StoreService_Requests.tf | 41 +++++++++++++++++++ NA_PROD/slo/VCIS_ID5_ParkinfoServiceV1.tf | 33 +++++++++++++++ .../VCIS_ID5_ParkinfoServiceV1_Requests.tf | 41 +++++++++++++++++++ NA_PROD/slo/VCIS_ID5_SPMServiceV1.tf | 33 +++++++++++++++ NA_PROD/slo/VCIS_ID5_SPMServiceV1_Requests.tf | 41 +++++++++++++++++++ NA_PROD/slo/VCIS_ID5_SessionServiceV1.tf | 33 +++++++++++++++ .../slo/VCIS_ID5_SessionServiceV1_Requests.tf | 41 +++++++++++++++++++ NA_PROD/slo/VCIS_ID7_SPMService.tf | 33 +++++++++++++++ NA_PROD/slo/VCIS_ID7_SPMService_Requests.tf | 41 +++++++++++++++++++ NA_PROD/slo/VCIS_ID7_StoreService.tf | 33 +++++++++++++++ NA_PROD/slo/VCIS_ID7_StoreService_Requests.tf | 41 +++++++++++++++++++ 24 files changed, 888 insertions(+) create mode 100644 CN_PROD/slo/VCIS_ID5_SessionServiceV1.tf create mode 100644 CN_PROD/slo/VCIS_ID5_SessionServiceV1_Requests.tf create mode 100644 CN_PROD/slo/VCIS_ID7_StoreService.tf create mode 100644 CN_PROD/slo/VCIS_ID7_StoreService_Requests.tf create mode 100644 EMEA_PROD/slo/VCIS_ID5_ParkinfoServiceV1.tf create mode 100644 EMEA_PROD/slo/VCIS_ID5_ParkinfoServiceV1_Requests.tf create mode 100644 EMEA_PROD/slo/VCIS_ID5_SPMServiceV1.tf create mode 100644 EMEA_PROD/slo/VCIS_ID5_SPMServiceV1_Requests.tf create mode 100644 EMEA_PROD/slo/VCIS_ID5_SessionServiceV1.tf create mode 100644 EMEA_PROD/slo/VCIS_ID5_SessionServiceV1_Requests.tf create mode 100644 EMEA_PROD/slo/VCIS_ID7_SPMService.tf create mode 100644 EMEA_PROD/slo/VCIS_ID7_SPMService_Requests.tf create mode 100644 EMEA_PROD/slo/VCIS_ID7_StoreService.tf create mode 100644 EMEA_PROD/slo/VCIS_ID7_StoreService_Requests.tf create mode 100644 NA_PROD/slo/VCIS_ID5_ParkinfoServiceV1.tf create mode 100644 NA_PROD/slo/VCIS_ID5_ParkinfoServiceV1_Requests.tf create mode 100644 NA_PROD/slo/VCIS_ID5_SPMServiceV1.tf create mode 100644 NA_PROD/slo/VCIS_ID5_SPMServiceV1_Requests.tf create mode 100644 NA_PROD/slo/VCIS_ID5_SessionServiceV1.tf create mode 100644 NA_PROD/slo/VCIS_ID5_SessionServiceV1_Requests.tf create mode 100644 NA_PROD/slo/VCIS_ID7_SPMService.tf create mode 100644 NA_PROD/slo/VCIS_ID7_SPMService_Requests.tf create mode 100644 NA_PROD/slo/VCIS_ID7_StoreService.tf create mode 100644 NA_PROD/slo/VCIS_ID7_StoreService_Requests.tf diff --git a/CN_PROD/slo/VCIS_ID5_SessionServiceV1.tf b/CN_PROD/slo/VCIS_ID5_SessionServiceV1.tf new file mode 100644 index 0000000..526f9d9 --- /dev/null +++ b/CN_PROD/slo/VCIS_ID5_SessionServiceV1.tf @@ -0,0 +1,33 @@ +module VCIS_ID5_SessionServiceV1 { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID5 - SessionServiceV1" + + description = "SessionServiceV1" + + + + #entity selector object + filter = "type(\"SERVICE\"),entityName(\"SessionServiceV1 - information\"),tag(\"Environment:PROD\")" + + + #metric expression of the calculation as done in data explorer ui + metric_expression = "(100)*((1)-( builtin:service.errors.fivexx.rate:splitBy():avg:auto:sort(value(avg,descending)):limit(10))/( builtin:service.requestCount.total:splitBy():sum:auto:sort(value(sum,descending)):limit(10)))" + + + #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 + +} \ No newline at end of file diff --git a/CN_PROD/slo/VCIS_ID5_SessionServiceV1_Requests.tf b/CN_PROD/slo/VCIS_ID5_SessionServiceV1_Requests.tf new file mode 100644 index 0000000..eebc3c2 --- /dev/null +++ b/CN_PROD/slo/VCIS_ID5_SessionServiceV1_Requests.tf @@ -0,0 +1,41 @@ +module VCIS_ID5_SessionServiceV1_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID5 - SessionServiceV1 - Requests" + description = "Success rate of SessionServiceV1" + + + #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(~"SessionServiceV1 - information~"), tag(~"Environment:PROD~")), + entityName.in(~"getSessionV1~")"))))) + :splitBy()) +/ +(builtin:service.keyRequest.count.server:filter(and(or + (in("dt.entity.service_method",entitySelector("type(service_method),fromRelationship.isServiceMethodOfService(type(~"SERVICE~"), + entityName.in(~"SessionServiceV1 - information~"), tag(~"Environment:PROD~")), + entityName.in(~"getSessionV1~")"))))) + :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 + +} \ No newline at end of file diff --git a/CN_PROD/slo/VCIS_ID7_StoreService.tf b/CN_PROD/slo/VCIS_ID7_StoreService.tf new file mode 100644 index 0000000..c809b44 --- /dev/null +++ b/CN_PROD/slo/VCIS_ID7_StoreService.tf @@ -0,0 +1,33 @@ +module VCIS_ID7_StoreService { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID7 - StoreService" + + description = "StoreService" + + + + #entity selector object + filter = "type(\"SERVICE\"),entityName(\"StoreService - information\"),tag(\"Environment:PROD\")" + + + #metric expression of the calculation as done in data explorer ui + metric_expression = "(100)*((1)-( builtin:service.errors.fivexx.rate:splitBy():avg:auto:sort(value(avg,descending)):limit(10))/( builtin:service.requestCount.total:splitBy():sum:auto:sort(value(sum,descending)):limit(10)))" + + + #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 + +} \ No newline at end of file diff --git a/CN_PROD/slo/VCIS_ID7_StoreService_Requests.tf b/CN_PROD/slo/VCIS_ID7_StoreService_Requests.tf new file mode 100644 index 0000000..6eb0982 --- /dev/null +++ b/CN_PROD/slo/VCIS_ID7_StoreService_Requests.tf @@ -0,0 +1,41 @@ +module VCIS_ID7_StoreService_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID7 - StoreService - Requests" + description = "Success rate of StoreService" + + + #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(~"StoreService - information~"), tag(~"Environment:PROD~")), + entityName.in(~"productsV1Emea~", ~"imageV1~")"))))) + :splitBy()) +/ +(builtin:service.keyRequest.count.server:filter(and(or + (in("dt.entity.service_method",entitySelector("type(service_method),fromRelationship.isServiceMethodOfService(type(~"SERVICE~"), + entityName.in(~"StoreService - information~"), tag(~"Environment:PROD~")), + entityName.in(~"productsV1Emea~", ~"imageV1~")"))))) + :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 + +} \ No newline at end of file diff --git a/EMEA_PROD/slo/VCIS_ID5_ParkinfoServiceV1.tf b/EMEA_PROD/slo/VCIS_ID5_ParkinfoServiceV1.tf new file mode 100644 index 0000000..f05168a --- /dev/null +++ b/EMEA_PROD/slo/VCIS_ID5_ParkinfoServiceV1.tf @@ -0,0 +1,33 @@ +module VCIS_ID5_ParkinfoServiceV1 { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID5 - ParkinfoServiceV1" + + description = "ParkinfoServiceV1" + + + + #entity selector object + filter = "type(\"SERVICE\"),entityName(\"ParkinfoServiceV1 - vcis-information - prod\"),tag(\"Environment:PROD\")" + + + #metric expression of the calculation as done in data explorer ui + metric_expression = "(100)*((1)-( builtin:service.errors.fivexx.rate:splitBy():avg:auto:sort(value(avg,descending)):limit(10))/( builtin:service.requestCount.total:splitBy():sum:auto:sort(value(sum,descending)):limit(10)))" + + + #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 + +} \ No newline at end of file diff --git a/EMEA_PROD/slo/VCIS_ID5_ParkinfoServiceV1_Requests.tf b/EMEA_PROD/slo/VCIS_ID5_ParkinfoServiceV1_Requests.tf new file mode 100644 index 0000000..10f2387 --- /dev/null +++ b/EMEA_PROD/slo/VCIS_ID5_ParkinfoServiceV1_Requests.tf @@ -0,0 +1,41 @@ +module VCIS_ID5_ParkinfoServiceV1_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID5 - ParkinfoServiceV1 - Requests" + description = "Success rate of ParkinfoServiceV1" + + + #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(~"ParkinfoServiceV1 - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"getDynamicParking~", ~"getPoisByCategory~", ~"getCategoriesV1~")"))))) + :splitBy()) +/ +(builtin:service.keyRequest.count.server:filter(and(or + (in("dt.entity.service_method",entitySelector("type(service_method),fromRelationship.isServiceMethodOfService(type(~"SERVICE~"), + entityName.in(~"ParkinfoServiceV1 - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"getDynamicParking~", ~"getPoisByCategory~", ~"getCategoriesV1~")"))))) + :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 + +} \ No newline at end of file diff --git a/EMEA_PROD/slo/VCIS_ID5_SPMServiceV1.tf b/EMEA_PROD/slo/VCIS_ID5_SPMServiceV1.tf new file mode 100644 index 0000000..ae7025f --- /dev/null +++ b/EMEA_PROD/slo/VCIS_ID5_SPMServiceV1.tf @@ -0,0 +1,33 @@ +module VCIS_ID5_SPMServiceV1 { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID5 - SPMServiceV1" + + description = "SPMServiceV1" + + + + #entity selector object + filter = "type(\"SERVICE\"),entityName(\"SPMServiceV1 - vcis-information - prod\"),tag(\"Environment:PROD\")" + + + #metric expression of the calculation as done in data explorer ui + metric_expression = "(100)*((1)-( builtin:service.errors.fivexx.rate:splitBy():avg:auto:sort(value(avg,descending)):limit(10))/( builtin:service.requestCount.total:splitBy():sum:auto:sort(value(sum,descending)):limit(10)))" + + + #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 + +} \ No newline at end of file diff --git a/EMEA_PROD/slo/VCIS_ID5_SPMServiceV1_Requests.tf b/EMEA_PROD/slo/VCIS_ID5_SPMServiceV1_Requests.tf new file mode 100644 index 0000000..1ffe693 --- /dev/null +++ b/EMEA_PROD/slo/VCIS_ID5_SPMServiceV1_Requests.tf @@ -0,0 +1,41 @@ +module VCIS_ID5_SPMServiceV1_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID5 - SPMServiceV1 - Requests" + description = "Success rate of SPMServiceV1" + + + #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(~"SPMServiceV1 - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"currentServicePartners~", ~"currentServicePartnersV2~", ~"getServicePartnersV2~", ~"saveServicePartners~")"))))) + :splitBy()) +/ +(builtin:service.keyRequest.count.server:filter(and(or + (in("dt.entity.service_method",entitySelector("type(service_method),fromRelationship.isServiceMethodOfService(type(~"SERVICE~"), + entityName.in(~"SPMServiceV1 - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"currentServicePartnersV2~", ~"getServicePartnersV2~", ~"saveServicePartners~")"))))) + :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 + +} \ No newline at end of file diff --git a/EMEA_PROD/slo/VCIS_ID5_SessionServiceV1.tf b/EMEA_PROD/slo/VCIS_ID5_SessionServiceV1.tf new file mode 100644 index 0000000..b0fae4a --- /dev/null +++ b/EMEA_PROD/slo/VCIS_ID5_SessionServiceV1.tf @@ -0,0 +1,33 @@ +module VCIS_ID5_SessionServiceV1 { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID5 - SessionServiceV1" + + description = "SessionServiceV1" + + + + #entity selector object + filter = "type(\"SERVICE\"),entityName(\"SessionServiceV1 - vcis-information - prod\"),tag(\"Environment:PROD\")" + + + #metric expression of the calculation as done in data explorer ui + metric_expression = "(100)*((1)-( builtin:service.errors.fivexx.rate:splitBy():avg:auto:sort(value(avg,descending)):limit(10))/( builtin:service.requestCount.total:splitBy():sum:auto:sort(value(sum,descending)):limit(10)))" + + + #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 + +} \ No newline at end of file diff --git a/EMEA_PROD/slo/VCIS_ID5_SessionServiceV1_Requests.tf b/EMEA_PROD/slo/VCIS_ID5_SessionServiceV1_Requests.tf new file mode 100644 index 0000000..74e2f0e --- /dev/null +++ b/EMEA_PROD/slo/VCIS_ID5_SessionServiceV1_Requests.tf @@ -0,0 +1,41 @@ +module VCIS_ID5_SessionServiceV1_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID5 - SessionServiceV1 - Requests" + description = "Success rate of SessionServiceV1" + + + #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(~"SessionServiceV1 - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"getSessionV1~")"))))) + :splitBy()) +/ +(builtin:service.keyRequest.count.server:filter(and(or + (in("dt.entity.service_method",entitySelector("type(service_method),fromRelationship.isServiceMethodOfService(type(~"SERVICE~"), + entityName.in(~"SessionServiceV1 - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"getSessionV1~")"))))) + :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 + +} \ No newline at end of file diff --git a/EMEA_PROD/slo/VCIS_ID7_SPMService.tf b/EMEA_PROD/slo/VCIS_ID7_SPMService.tf new file mode 100644 index 0000000..395d1de --- /dev/null +++ b/EMEA_PROD/slo/VCIS_ID7_SPMService.tf @@ -0,0 +1,33 @@ +module VCIS_ID7_SPMService { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID7 - SPMService" + + description = "SPMService" + + + + #entity selector object + filter = "type(\"SERVICE\"),entityName(\"SPMService - vcis-information - prod\"),tag(\"Environment:PROD\")" + + + #metric expression of the calculation as done in data explorer ui + metric_expression = "(100)*((1)-( builtin:service.errors.fivexx.rate:splitBy():avg:auto:sort(value(avg,descending)):limit(10))/( builtin:service.requestCount.total:splitBy():sum:auto:sort(value(sum,descending)):limit(10)))" + + + #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 + +} \ No newline at end of file diff --git a/EMEA_PROD/slo/VCIS_ID7_SPMService_Requests.tf b/EMEA_PROD/slo/VCIS_ID7_SPMService_Requests.tf new file mode 100644 index 0000000..88eaf6a --- /dev/null +++ b/EMEA_PROD/slo/VCIS_ID7_SPMService_Requests.tf @@ -0,0 +1,41 @@ +module VCIS_ID7_SPMService_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID7 - SPMService - Requests" + description = "Success rate of SPMService" + + + #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(~"SPMService - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"currentServicePartners~", ~"getServicePartners~", ~"saveServicePartners~", ~"deleteServicePartners~")"))))) + :splitBy()) +/ +(builtin:service.keyRequest.count.server:filter(and(or + (in("dt.entity.service_method",entitySelector("type(service_method),fromRelationship.isServiceMethodOfService(type(~"SERVICE~"), + entityName.in(~"SPMService - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"currentServicePartners~", ~"getServicePartners~", ~"saveServicePartners~", ~"deleteServicePartners~")"))))) + :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 + +} \ No newline at end of file diff --git a/EMEA_PROD/slo/VCIS_ID7_StoreService.tf b/EMEA_PROD/slo/VCIS_ID7_StoreService.tf new file mode 100644 index 0000000..569f602 --- /dev/null +++ b/EMEA_PROD/slo/VCIS_ID7_StoreService.tf @@ -0,0 +1,33 @@ +module VCIS_ID7_StoreService { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID7 - StoreService" + + description = "StoreService" + + + + #entity selector object + filter = "type(\"SERVICE\"),entityName(\"StoreService - vcis-information - prod\"),tag(\"Environment:PROD\")" + + + #metric expression of the calculation as done in data explorer ui + metric_expression = "(100)*((1)-( builtin:service.errors.fivexx.rate:splitBy():avg:auto:sort(value(avg,descending)):limit(10))/( builtin:service.requestCount.total:splitBy():sum:auto:sort(value(sum,descending)):limit(10)))" + + + #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 + +} \ No newline at end of file diff --git a/EMEA_PROD/slo/VCIS_ID7_StoreService_Requests.tf b/EMEA_PROD/slo/VCIS_ID7_StoreService_Requests.tf new file mode 100644 index 0000000..89ef25a --- /dev/null +++ b/EMEA_PROD/slo/VCIS_ID7_StoreService_Requests.tf @@ -0,0 +1,41 @@ +module VCIS_ID7_StoreService_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID7 - StoreService - Requests" + description = "Success rate of StoreService" + + + #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(~"StoreService - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"productsV3~", ~"imageV1~")"))))) + :splitBy()) +/ +(builtin:service.keyRequest.count.server:filter(and(or + (in("dt.entity.service_method",entitySelector("type(service_method),fromRelationship.isServiceMethodOfService(type(~"SERVICE~"), + entityName.in(~"StoreService - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"productsV3~", ~"imageV1~")"))))) + :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 + +} \ No newline at end of file diff --git a/NA_PROD/slo/VCIS_ID5_ParkinfoServiceV1.tf b/NA_PROD/slo/VCIS_ID5_ParkinfoServiceV1.tf new file mode 100644 index 0000000..f05168a --- /dev/null +++ b/NA_PROD/slo/VCIS_ID5_ParkinfoServiceV1.tf @@ -0,0 +1,33 @@ +module VCIS_ID5_ParkinfoServiceV1 { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID5 - ParkinfoServiceV1" + + description = "ParkinfoServiceV1" + + + + #entity selector object + filter = "type(\"SERVICE\"),entityName(\"ParkinfoServiceV1 - vcis-information - prod\"),tag(\"Environment:PROD\")" + + + #metric expression of the calculation as done in data explorer ui + metric_expression = "(100)*((1)-( builtin:service.errors.fivexx.rate:splitBy():avg:auto:sort(value(avg,descending)):limit(10))/( builtin:service.requestCount.total:splitBy():sum:auto:sort(value(sum,descending)):limit(10)))" + + + #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 + +} \ No newline at end of file diff --git a/NA_PROD/slo/VCIS_ID5_ParkinfoServiceV1_Requests.tf b/NA_PROD/slo/VCIS_ID5_ParkinfoServiceV1_Requests.tf new file mode 100644 index 0000000..10f2387 --- /dev/null +++ b/NA_PROD/slo/VCIS_ID5_ParkinfoServiceV1_Requests.tf @@ -0,0 +1,41 @@ +module VCIS_ID5_ParkinfoServiceV1_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID5 - ParkinfoServiceV1 - Requests" + description = "Success rate of ParkinfoServiceV1" + + + #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(~"ParkinfoServiceV1 - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"getDynamicParking~", ~"getPoisByCategory~", ~"getCategoriesV1~")"))))) + :splitBy()) +/ +(builtin:service.keyRequest.count.server:filter(and(or + (in("dt.entity.service_method",entitySelector("type(service_method),fromRelationship.isServiceMethodOfService(type(~"SERVICE~"), + entityName.in(~"ParkinfoServiceV1 - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"getDynamicParking~", ~"getPoisByCategory~", ~"getCategoriesV1~")"))))) + :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 + +} \ No newline at end of file diff --git a/NA_PROD/slo/VCIS_ID5_SPMServiceV1.tf b/NA_PROD/slo/VCIS_ID5_SPMServiceV1.tf new file mode 100644 index 0000000..ae7025f --- /dev/null +++ b/NA_PROD/slo/VCIS_ID5_SPMServiceV1.tf @@ -0,0 +1,33 @@ +module VCIS_ID5_SPMServiceV1 { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID5 - SPMServiceV1" + + description = "SPMServiceV1" + + + + #entity selector object + filter = "type(\"SERVICE\"),entityName(\"SPMServiceV1 - vcis-information - prod\"),tag(\"Environment:PROD\")" + + + #metric expression of the calculation as done in data explorer ui + metric_expression = "(100)*((1)-( builtin:service.errors.fivexx.rate:splitBy():avg:auto:sort(value(avg,descending)):limit(10))/( builtin:service.requestCount.total:splitBy():sum:auto:sort(value(sum,descending)):limit(10)))" + + + #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 + +} \ No newline at end of file diff --git a/NA_PROD/slo/VCIS_ID5_SPMServiceV1_Requests.tf b/NA_PROD/slo/VCIS_ID5_SPMServiceV1_Requests.tf new file mode 100644 index 0000000..36a9b2a --- /dev/null +++ b/NA_PROD/slo/VCIS_ID5_SPMServiceV1_Requests.tf @@ -0,0 +1,41 @@ +module VCIS_ID5_SPMServiceV1_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID5 - SPMServiceV1 - Requests" + description = "Success rate of SPMServiceV1" + + + #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(~"SPMServiceV1 - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"currentServicePartnersV2~", ~"getServicePartnersV2~", ~"saveServicePartners~")"))))) + :splitBy()) +/ +(builtin:service.keyRequest.count.server:filter(and(or + (in("dt.entity.service_method",entitySelector("type(service_method),fromRelationship.isServiceMethodOfService(type(~"SERVICE~"), + entityName.in(~"SPMServiceV1 - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"currentServicePartnersV2~", ~"getServicePartnersV2~", ~"saveServicePartners~")"))))) + :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 + +} \ No newline at end of file diff --git a/NA_PROD/slo/VCIS_ID5_SessionServiceV1.tf b/NA_PROD/slo/VCIS_ID5_SessionServiceV1.tf new file mode 100644 index 0000000..b0fae4a --- /dev/null +++ b/NA_PROD/slo/VCIS_ID5_SessionServiceV1.tf @@ -0,0 +1,33 @@ +module VCIS_ID5_SessionServiceV1 { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID5 - SessionServiceV1" + + description = "SessionServiceV1" + + + + #entity selector object + filter = "type(\"SERVICE\"),entityName(\"SessionServiceV1 - vcis-information - prod\"),tag(\"Environment:PROD\")" + + + #metric expression of the calculation as done in data explorer ui + metric_expression = "(100)*((1)-( builtin:service.errors.fivexx.rate:splitBy():avg:auto:sort(value(avg,descending)):limit(10))/( builtin:service.requestCount.total:splitBy():sum:auto:sort(value(sum,descending)):limit(10)))" + + + #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 + +} \ No newline at end of file diff --git a/NA_PROD/slo/VCIS_ID5_SessionServiceV1_Requests.tf b/NA_PROD/slo/VCIS_ID5_SessionServiceV1_Requests.tf new file mode 100644 index 0000000..74e2f0e --- /dev/null +++ b/NA_PROD/slo/VCIS_ID5_SessionServiceV1_Requests.tf @@ -0,0 +1,41 @@ +module VCIS_ID5_SessionServiceV1_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID5 - SessionServiceV1 - Requests" + description = "Success rate of SessionServiceV1" + + + #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(~"SessionServiceV1 - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"getSessionV1~")"))))) + :splitBy()) +/ +(builtin:service.keyRequest.count.server:filter(and(or + (in("dt.entity.service_method",entitySelector("type(service_method),fromRelationship.isServiceMethodOfService(type(~"SERVICE~"), + entityName.in(~"SessionServiceV1 - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"getSessionV1~")"))))) + :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 + +} \ No newline at end of file diff --git a/NA_PROD/slo/VCIS_ID7_SPMService.tf b/NA_PROD/slo/VCIS_ID7_SPMService.tf new file mode 100644 index 0000000..395d1de --- /dev/null +++ b/NA_PROD/slo/VCIS_ID7_SPMService.tf @@ -0,0 +1,33 @@ +module VCIS_ID7_SPMService { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID7 - SPMService" + + description = "SPMService" + + + + #entity selector object + filter = "type(\"SERVICE\"),entityName(\"SPMService - vcis-information - prod\"),tag(\"Environment:PROD\")" + + + #metric expression of the calculation as done in data explorer ui + metric_expression = "(100)*((1)-( builtin:service.errors.fivexx.rate:splitBy():avg:auto:sort(value(avg,descending)):limit(10))/( builtin:service.requestCount.total:splitBy():sum:auto:sort(value(sum,descending)):limit(10)))" + + + #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 + +} \ No newline at end of file diff --git a/NA_PROD/slo/VCIS_ID7_SPMService_Requests.tf b/NA_PROD/slo/VCIS_ID7_SPMService_Requests.tf new file mode 100644 index 0000000..88eaf6a --- /dev/null +++ b/NA_PROD/slo/VCIS_ID7_SPMService_Requests.tf @@ -0,0 +1,41 @@ +module VCIS_ID7_SPMService_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID7 - SPMService - Requests" + description = "Success rate of SPMService" + + + #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(~"SPMService - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"currentServicePartners~", ~"getServicePartners~", ~"saveServicePartners~", ~"deleteServicePartners~")"))))) + :splitBy()) +/ +(builtin:service.keyRequest.count.server:filter(and(or + (in("dt.entity.service_method",entitySelector("type(service_method),fromRelationship.isServiceMethodOfService(type(~"SERVICE~"), + entityName.in(~"SPMService - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"currentServicePartners~", ~"getServicePartners~", ~"saveServicePartners~", ~"deleteServicePartners~")"))))) + :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 + +} \ No newline at end of file diff --git a/NA_PROD/slo/VCIS_ID7_StoreService.tf b/NA_PROD/slo/VCIS_ID7_StoreService.tf new file mode 100644 index 0000000..569f602 --- /dev/null +++ b/NA_PROD/slo/VCIS_ID7_StoreService.tf @@ -0,0 +1,33 @@ +module VCIS_ID7_StoreService { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID7 - StoreService" + + description = "StoreService" + + + + #entity selector object + filter = "type(\"SERVICE\"),entityName(\"StoreService - vcis-information - prod\"),tag(\"Environment:PROD\")" + + + #metric expression of the calculation as done in data explorer ui + metric_expression = "(100)*((1)-( builtin:service.errors.fivexx.rate:splitBy():avg:auto:sort(value(avg,descending)):limit(10))/( builtin:service.requestCount.total:splitBy():sum:auto:sort(value(sum,descending)):limit(10)))" + + + #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 + +} \ No newline at end of file diff --git a/NA_PROD/slo/VCIS_ID7_StoreService_Requests.tf b/NA_PROD/slo/VCIS_ID7_StoreService_Requests.tf new file mode 100644 index 0000000..cbddd23 --- /dev/null +++ b/NA_PROD/slo/VCIS_ID7_StoreService_Requests.tf @@ -0,0 +1,41 @@ +module VCIS_ID7_StoreService_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-ID7 - StoreService - Requests" + description = "Success rate of StoreService" + + + #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(~"StoreService - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"productsV1~")"))))) + :splitBy()) +/ +(builtin:service.keyRequest.count.server:filter(and(or + (in("dt.entity.service_method",entitySelector("type(service_method),fromRelationship.isServiceMethodOfService(type(~"SERVICE~"), + entityName.in(~"StoreService - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"productsV1~")"))))) + :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 + +} \ No newline at end of file