From 7fe64b24afa054e4e5a72a49e969f9d418acff1a Mon Sep 17 00:00:00 2001 From: "Eduardo Pinto (CTW)" Date: Tue, 18 Oct 2022 16:22:00 +0100 Subject: [PATCH] OPMAAS-2671: Add LOC SLOs --- .../slo/VCIS_LOC_ControlMessagesResource.tf | 33 +++++++++++++++ ...IS_LOC_ControlMessagesResource_Requests.tf | 41 +++++++++++++++++++ .../slo/VCIS_LOC_ControlMessagesResource.tf | 33 +++++++++++++++ ...IS_LOC_ControlMessagesResource_Requests.tf | 41 +++++++++++++++++++ .../slo/VCIS_LOC_ControlMessagesResource.tf | 33 +++++++++++++++ ...IS_LOC_ControlMessagesResource_Requests.tf | 41 +++++++++++++++++++ 6 files changed, 222 insertions(+) create mode 100644 CN_PROD/slo/VCIS_LOC_ControlMessagesResource.tf create mode 100644 CN_PROD/slo/VCIS_LOC_ControlMessagesResource_Requests.tf create mode 100644 EMEA_PROD/slo/VCIS_LOC_ControlMessagesResource.tf create mode 100644 EMEA_PROD/slo/VCIS_LOC_ControlMessagesResource_Requests.tf create mode 100644 NA_PROD/slo/VCIS_LOC_ControlMessagesResource.tf create mode 100644 NA_PROD/slo/VCIS_LOC_ControlMessagesResource_Requests.tf diff --git a/CN_PROD/slo/VCIS_LOC_ControlMessagesResource.tf b/CN_PROD/slo/VCIS_LOC_ControlMessagesResource.tf new file mode 100644 index 0000000..a4232ae --- /dev/null +++ b/CN_PROD/slo/VCIS_LOC_ControlMessagesResource.tf @@ -0,0 +1,33 @@ +module VCIS_LOC_ControlMessagesResource { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-LOC - ControlMessagesResource" + + description = "ControlMessagesResource" + + + + #entity selector object + filter = "type(\"SERVICE\"),entityName(\"ControlMessagesResource - 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_LOC_ControlMessagesResource_Requests.tf b/CN_PROD/slo/VCIS_LOC_ControlMessagesResource_Requests.tf new file mode 100644 index 0000000..49b4323 --- /dev/null +++ b/CN_PROD/slo/VCIS_LOC_ControlMessagesResource_Requests.tf @@ -0,0 +1,41 @@ +module VCIS_LOC_ControlMessagesResource_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-LOC - ControlMessagesResource - Requests" + description = "Success rate of ControlMessagesResource" + + + #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(~"ControlMessagesResource - information~"), tag(~"Environment:PROD~")), + entityName.in(~"getCBS~", ~"getCCM~")"))))) + :splitBy()) +/ +(builtin:service.keyRequest.count.server:filter(and(or + (in("dt.entity.service_method",entitySelector("type(service_method),fromRelationship.isServiceMethodOfService(type(~"SERVICE~"), + entityName.in(~"ControlMessagesResource - information~"), tag(~"Environment:PROD~")), + entityName.in(~"getCBS~", ~"getCCM~")"))))) + :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_LOC_ControlMessagesResource.tf b/EMEA_PROD/slo/VCIS_LOC_ControlMessagesResource.tf new file mode 100644 index 0000000..77c1397 --- /dev/null +++ b/EMEA_PROD/slo/VCIS_LOC_ControlMessagesResource.tf @@ -0,0 +1,33 @@ +module VCIS_LOC_ControlMessagesResource { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-LOC - ControlMessagesResource" + + description = "ControlMessagesResource" + + + + #entity selector object + filter = "type(\"SERVICE\"),entityName(\"ControlMessagesResource - 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_LOC_ControlMessagesResource_Requests.tf b/EMEA_PROD/slo/VCIS_LOC_ControlMessagesResource_Requests.tf new file mode 100644 index 0000000..41b0686 --- /dev/null +++ b/EMEA_PROD/slo/VCIS_LOC_ControlMessagesResource_Requests.tf @@ -0,0 +1,41 @@ +module VCIS_LOC_ControlMessagesResource_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-LOC - ControlMessagesResource - Requests" + description = "Success rate of ControlMessagesResource" + + + #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(~"ControlMessagesResource - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"getCBS~", ~"getCCM~")"))))) + :splitBy()) +/ +(builtin:service.keyRequest.count.server:filter(and(or + (in("dt.entity.service_method",entitySelector("type(service_method),fromRelationship.isServiceMethodOfService(type(~"SERVICE~"), + entityName.in(~"ControlMessagesResource - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"getCBS~", ~"getCCM~")"))))) + :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_LOC_ControlMessagesResource.tf b/NA_PROD/slo/VCIS_LOC_ControlMessagesResource.tf new file mode 100644 index 0000000..77c1397 --- /dev/null +++ b/NA_PROD/slo/VCIS_LOC_ControlMessagesResource.tf @@ -0,0 +1,33 @@ +module VCIS_LOC_ControlMessagesResource { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-LOC - ControlMessagesResource" + + description = "ControlMessagesResource" + + + + #entity selector object + filter = "type(\"SERVICE\"),entityName(\"ControlMessagesResource - 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_LOC_ControlMessagesResource_Requests.tf b/NA_PROD/slo/VCIS_LOC_ControlMessagesResource_Requests.tf new file mode 100644 index 0000000..41b0686 --- /dev/null +++ b/NA_PROD/slo/VCIS_LOC_ControlMessagesResource_Requests.tf @@ -0,0 +1,41 @@ +module VCIS_LOC_ControlMessagesResource_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-LOC - ControlMessagesResource - Requests" + description = "Success rate of ControlMessagesResource" + + + #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(~"ControlMessagesResource - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"getCBS~", ~"getCCM~")"))))) + :splitBy()) +/ +(builtin:service.keyRequest.count.server:filter(and(or + (in("dt.entity.service_method",entitySelector("type(service_method),fromRelationship.isServiceMethodOfService(type(~"SERVICE~"), + entityName.in(~"ControlMessagesResource - vcis-information - prod~"), tag(~"Environment:PROD~")), + entityName.in(~"getCBS~", ~"getCCM~")"))))) + :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