diff --git a/EMEA_PROD/slo/VCIS_GEN2_Office2.tf b/EMEA_PROD/slo/VCIS_GEN2_Office2.tf new file mode 100644 index 0000000..24ba7cd --- /dev/null +++ b/EMEA_PROD/slo/VCIS_GEN2_Office2.tf @@ -0,0 +1,33 @@ +module VCIS_GEN2_Office2 { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-GEN2 - Office2" + + description = "Office2" + + + + #entity selector object + filter = "type(\"SERVICE\"),entityName(\"server (/cdp/release/vehicle/office2) - 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 + +} diff --git a/EMEA_PROD/slo/VCIS_GEN2_Office2_Requests.tf b/EMEA_PROD/slo/VCIS_GEN2_Office2_Requests.tf new file mode 100644 index 0000000..7d4e5a5 --- /dev/null +++ b/EMEA_PROD/slo/VCIS_GEN2_Office2_Requests.tf @@ -0,0 +1,70 @@ +module VCIS_GEN2_Office2_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "VCIS-GEN2 - Office2 Requests" + description = "Success rate of GEN2 Office2" + + + #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( + ~"server (/cdp/release/vehicle/office2) - vcis-information - prod~" + ), + tag(~"Environment:PROD~") + ) + ,entityName.in( + ~"/cdp/release/vehicle/office2/servlet/emailOverview~", + ~"/cdp/release/vehicle/office2/servlet/emailInbox~", + ~"/cdp/release/vehicle/office2/servlet/emailAsyncInboxStatus~", + ~"/cdp/release/vehicle/office2/servlet/composeEmail~", + ~"/cdp/release/vehicle/office2/servlet/readEmail~", + ~"/cdp/release/vehicle/office2/servlet/deleteEmail~", + ~"/cdp/release/vehicle/office2/servlet/ajaxReload~", + ~"/cdp/release/vehicle/office2/servlet/emailTemplates~", + ~"/cdp/release/vehicle/office2/servlet/geoCodingOutput~", + ~"/cdp/release/vehicle/office2/servlet/historyGo~", + ~"/cdp/release/vehicle/office2/servlet/error~" + )"))))):splitBy()) + / + (builtin:service.keyRequest.count.server:filter(and(or(in("dt.entity.service_method",entitySelector("type(service_method), + fromRelationship.isServiceMethodOfService( + type(~"SERVICE~"),entityName.in( + ~"server (/cdp/release/vehicle/office2) - vcis-information - prod~" + ), + tag(~"Environment:PROD~") + ) + ,entityName.in( + ~"/cdp/release/vehicle/office2/servlet/emailOverview~", + ~"/cdp/release/vehicle/office2/servlet/emailInbox~", + ~"/cdp/release/vehicle/office2/servlet/emailAsyncInboxStatus~", + ~"/cdp/release/vehicle/office2/servlet/composeEmail~", + ~"/cdp/release/vehicle/office2/servlet/readEmail~", + ~"/cdp/release/vehicle/office2/servlet/deleteEmail~", + ~"/cdp/release/vehicle/office2/servlet/ajaxReload~", + ~"/cdp/release/vehicle/office2/servlet/emailTemplates~", + ~"/cdp/release/vehicle/office2/servlet/geoCodingOutput~", + ~"/cdp/release/vehicle/office2/servlet/historyGo~", + ~"/cdp/release/vehicle/office2/servlet/error~" + )"))))):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 + +}