From a6fc68690e12352b4bf45c3bda6481862c05573a Mon Sep 17 00:00:00 2001 From: Ana Faria Date: Fri, 4 Nov 2022 17:00:35 +0000 Subject: [PATCH] INFOTAIN-30338: Add SLO DKR and NN --- CN_PROD/slo/CCIS_DKR_Generic_Requests.tf | 104 ++++++++++++++++++ EMEA_PROD/slo/CCIS_NN_ExploreNews_Requests.tf | 71 ++++++++++++ EMEA_PROD/slo/CCIS_NN_LaunchApp_Requests.tf | 69 ++++++++++++ EMEA_PROD/slo/CCIS_NN_PlayEpisode_Requests.tf | 65 +++++++++++ .../slo/CCIS_NN_SetPreferences_Requests.tf | 67 +++++++++++ NA_PROD/slo/CCIS_NN_ExploreNews_Requests.tf | 71 ++++++++++++ NA_PROD/slo/CCIS_NN_LaunchApp_Requests.tf | 69 ++++++++++++ NA_PROD/slo/CCIS_NN_PlayEpisode_Requests.tf | 65 +++++++++++ .../slo/CCIS_NN_SetPreferences_Requests.tf | 67 +++++++++++ 9 files changed, 648 insertions(+) create mode 100644 CN_PROD/slo/CCIS_DKR_Generic_Requests.tf create mode 100644 EMEA_PROD/slo/CCIS_NN_ExploreNews_Requests.tf create mode 100644 EMEA_PROD/slo/CCIS_NN_LaunchApp_Requests.tf create mode 100644 EMEA_PROD/slo/CCIS_NN_PlayEpisode_Requests.tf create mode 100644 EMEA_PROD/slo/CCIS_NN_SetPreferences_Requests.tf create mode 100644 NA_PROD/slo/CCIS_NN_ExploreNews_Requests.tf create mode 100644 NA_PROD/slo/CCIS_NN_LaunchApp_Requests.tf create mode 100644 NA_PROD/slo/CCIS_NN_PlayEpisode_Requests.tf create mode 100644 NA_PROD/slo/CCIS_NN_SetPreferences_Requests.tf diff --git a/CN_PROD/slo/CCIS_DKR_Generic_Requests.tf b/CN_PROD/slo/CCIS_DKR_Generic_Requests.tf new file mode 100644 index 0000000..67ad0cb --- /dev/null +++ b/CN_PROD/slo/CCIS_DKR_Generic_Requests.tf @@ -0,0 +1,104 @@ +module CCIS_DKR_DigitalKeyRing_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "CCIS-DKR - Generic - Requests" + description = "Success rate of Generic" + + + #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( + ~"KeyApi - ccis - prod~", + ~"RecoveryApi - ccis - prod~", + ~"UserApi - ccis - prod~" + ), + tag(~"Environment:PROD~") + ),entityName.in( + ~"getKeys~", + ~"patchKey~", + ~"createKey~", + ~"deleteSingleKey~", + ~"deleteKeys~", + ~"createRecoveryRequest~", + ~"deleteRecoveryRequest~", + ~"getRecoveryRequest~", + ~"finishRecoveryRequest~", + ~"getRecoveryRequests~", + ~"getUser~", + ~"getDkrKeyVersion~", + ~"resetDkrKeyVersion~", + ~"deleteDevice~", + ~"addDevice~", + ~"getDevices~", + ~"putUser~", + ~"deleteUser~" + )" + ) + ) + ))):splitBy()) + / + (builtin:service.keyRequest.count.server:filter( + and( + or( + in( + "dt.entity.service_method", + entitySelector( + "type(service_method), + fromRelationship.isServiceMethodOfService( + type(~"SERVICE~"),entityName.in( + ~"KeyApi - ccis - prod~", + ~"RecoveryApi - ccis - prod~", + ~"UserApi - ccis - prod~" + ),tag(~"Environment:PROD~") + ),entityName.in( + ~"getKeys~", + ~"patchKey~", + ~"createKey~", + ~"deleteSingleKey~", + ~"deleteKeys~", + ~"createRecoveryRequest~", + ~"deleteRecoveryRequest~", + ~"getRecoveryRequest~", + ~"finishRecoveryRequest~", + ~"getRecoveryRequests~", + ~"getUser~", + ~"getDkrKeyVersion~", + ~"resetDkrKeyVersion~", + ~"deleteDevice~", + ~"addDevice~", + ~"getDevices~", + ~"putUser~", + ~"deleteUser~" + )" + ) + ) + ))):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/CCIS_NN_ExploreNews_Requests.tf b/EMEA_PROD/slo/CCIS_NN_ExploreNews_Requests.tf new file mode 100644 index 0000000..a254f08 --- /dev/null +++ b/EMEA_PROD/slo/CCIS_NN_ExploreNews_Requests.tf @@ -0,0 +1,71 @@ +module CCIS_NN_ExploreNews_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "CCIS-NN - ExploreNews - Requests" + description = "Success rate of ExploreNews" + + + #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( + ~"EpisodeApi - ccis - prod~", + ~"DownloadApi - ccis - prod~" + ),tag(~"Environment:PROD~") + ),entityName.in( + ~"getFlashEpisode~", + ~"getEpisodes~", + ~"download~" + )" + ) + ) + ))):splitBy()) + / + (builtin:service.keyRequest.count.server:filter( + and( + or( + in( + "dt.entity.service_method", + entitySelector( + "type(service_method), + fromRelationship.isServiceMethodOfService( + type(~"SERVICE~"),entityName.in( + ~"EpisodeApi - ccis - prod~", + ~"DownloadApi - ccis - prod~" + ), tag(~"Environment:PROD~") + ),entityName.in( + ~"getFlashEpisode~", + ~"getEpisodes~", + ~"download~" + )" + ) + ) + ))):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/CCIS_NN_LaunchApp_Requests.tf b/EMEA_PROD/slo/CCIS_NN_LaunchApp_Requests.tf new file mode 100644 index 0000000..3df9a72 --- /dev/null +++ b/EMEA_PROD/slo/CCIS_NN_LaunchApp_Requests.tf @@ -0,0 +1,69 @@ +module CCIS_NN_LaunchApp_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "CCIS-NN - LaunchApp - Requests" + description = "Success rate of LaunchApp" + + + #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( + ~"UserApi - ccis - prod~" + ),tag(~"Environment:PROD~") + ),entityName.in( + ~"getUser~", + ~"createUser~", + ~"deleteUser~" + )" + ) + ) + ))):splitBy()) + / + (builtin:service.keyRequest.count.server:filter( + and( + or( + in( + "dt.entity.service_method", + entitySelector( + "type(service_method), + fromRelationship.isServiceMethodOfService( + type(~"SERVICE~"),entityName.in( + ~"UserApi - ccis - prod~" + ),tag(~"Environment:PROD~") + ),entityName.in( + ~"getUser~", + ~"createUser~", + ~"deleteUser~" + )" + ) + ) + ))):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/CCIS_NN_PlayEpisode_Requests.tf b/EMEA_PROD/slo/CCIS_NN_PlayEpisode_Requests.tf new file mode 100644 index 0000000..63c0ca5 --- /dev/null +++ b/EMEA_PROD/slo/CCIS_NN_PlayEpisode_Requests.tf @@ -0,0 +1,65 @@ +module CCIS_NN_PlayEpisode_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "CCIS-NN - PlayEpisode - Requests" + description = "Success rate of PlayEpisode" + + + #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( + ~"DownloadApi - ccis - prod~" + ),tag(~"Environment:PROD~") + ),entityName.in( + ~"download~" + )" + ) + ) + ))):splitBy()) + / + (builtin:service.keyRequest.count.server:filter( + and( + or( + in( + "dt.entity.service_method", + entitySelector( + "type(service_method), + fromRelationship.isServiceMethodOfService( + type(~"SERVICE~"),entityName.in( + ~"DownloadApi - ccis - prod~" + ),tag(~"Environment:PROD~") + ),entityName.in( + ~"download~" + )" + ) + ) + ))):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/CCIS_NN_SetPreferences_Requests.tf b/EMEA_PROD/slo/CCIS_NN_SetPreferences_Requests.tf new file mode 100644 index 0000000..513ba07 --- /dev/null +++ b/EMEA_PROD/slo/CCIS_NN_SetPreferences_Requests.tf @@ -0,0 +1,67 @@ +module CCIS_NN_SetPreferences_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "CCIS-NN - SetPreferences - Requests" + description = "Success rate of SetPreferences" + + + #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( + ~"CategoryApi - ccis - prod~" + ),tag(~"Environment:PROD~") + ),entityName.in( + ~"muteCategories~", + ~"getUserCategories~" + )" + ) + ) + ))):splitBy()) + / + (builtin:service.keyRequest.count.server:filter( + and( + or( + in( + "dt.entity.service_method", + entitySelector( + "type(service_method), + fromRelationship.isServiceMethodOfService( + type(~"SERVICE~"),entityName.in( + ~"CategoryApi - ccis - prod~" + ),tag(~"Environment:PROD~") + ),entityName.in( + ~"muteCategories~", + ~"getUserCategories~" + )" + ) + ) + ))):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/CCIS_NN_ExploreNews_Requests.tf b/NA_PROD/slo/CCIS_NN_ExploreNews_Requests.tf new file mode 100644 index 0000000..c482ebe --- /dev/null +++ b/NA_PROD/slo/CCIS_NN_ExploreNews_Requests.tf @@ -0,0 +1,71 @@ +module CCIS_NN_ExploreNews_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "CCIS-NN - ExploreNews - Requests" + description = "Success rate of ExploreNews" + + + #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( + ~"EpisodeApi - ccis - prod~", + ~"DownloadApi - ccis - prod~" + ),tag(~"Environment:PROD~") + ),entityName.in( + ~"getFlashEpisode~", + ~"getEpisodes~", + ~"download~" + )" + ) + ) + ))):splitBy()) + / + (builtin:service.keyRequest.count.server:filter( + and( + or( + in( + "dt.entity.service_method", + entitySelector( + "type(service_method), + fromRelationship.isServiceMethodOfService( + type(~"SERVICE~"),entityName.in( + ~"EpisodeApi - ccis - prod~", + ~"DownloadApi - ccis - prod~" + ), tag(~"Environment:PROD~") + ),entityName.in( + ~"getFlashEpisode~", + ~"getEpisodes~", + ~"download~" + )" + ) + ) + ))):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/CCIS_NN_LaunchApp_Requests.tf b/NA_PROD/slo/CCIS_NN_LaunchApp_Requests.tf new file mode 100644 index 0000000..aa83475 --- /dev/null +++ b/NA_PROD/slo/CCIS_NN_LaunchApp_Requests.tf @@ -0,0 +1,69 @@ +module CCIS_NN_LaunchApp_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "CCIS-NN - LaunchApp - Requests" + description = "Success rate of LaunchApp" + + + #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( + ~"UserApi - ccis - prod~" + ),tag(~"Environment:PROD~") + ),entityName.in( + ~"getUser~", + ~"createUser~", + ~"deleteUser~" + )" + ) + ) + ))):splitBy()) + / + (builtin:service.keyRequest.count.server:filter( + and( + or( + in( + "dt.entity.service_method", + entitySelector( + "type(service_method), + fromRelationship.isServiceMethodOfService( + type(~"SERVICE~"),entityName.in( + ~"UserApi - ccis - prod~" + ),tag(~"Environment:PROD~") + ),entityName.in( + ~"getUser~", + ~"createUser~", + ~"deleteUser~" + )" + ) + ) + ))):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/CCIS_NN_PlayEpisode_Requests.tf b/NA_PROD/slo/CCIS_NN_PlayEpisode_Requests.tf new file mode 100644 index 0000000..f9e63a6 --- /dev/null +++ b/NA_PROD/slo/CCIS_NN_PlayEpisode_Requests.tf @@ -0,0 +1,65 @@ +module CCIS_NN_PlayEpisode_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "CCIS-NN - PlayEpisode - Requests" + description = "Success rate of PlayEpisode" + + + #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( + ~"DownloadApi - ccis - prod~" + ),tag(~"Environment:PROD~") + ),entityName.in( + ~"download~" + )" + ) + ) + ))):splitBy()) + / + (builtin:service.keyRequest.count.server:filter( + and( + or( + in( + "dt.entity.service_method", + entitySelector( + "type(service_method), + fromRelationship.isServiceMethodOfService( + type(~"SERVICE~"),entityName.in( + ~"DownloadApi - ccis - prod~" + ),tag(~"Environment:PROD~") + ),entityName.in( + ~"download~" + )" + ) + ) + ))):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/CCIS_NN_SetPreferences_Requests.tf b/NA_PROD/slo/CCIS_NN_SetPreferences_Requests.tf new file mode 100644 index 0000000..a8f51c5 --- /dev/null +++ b/NA_PROD/slo/CCIS_NN_SetPreferences_Requests.tf @@ -0,0 +1,67 @@ +module CCIS_NN_SetPreferences_Requests { + + source = "../../_dynatrace-base-modules/dynatrace-service-level-objective" + + + name = "CCIS-NN - SetPreferences - Requests" + description = "Success rate of SetPreferences" + + + #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( + ~"CategoryApi - ccis - prod~" + ),tag(~"Environment:PROD~") + ),entityName.in( + ~"muteCategories~", + ~"getUserCategories~" + )" + ) + ) + ))):splitBy()) + / + (builtin:service.keyRequest.count.server:filter( + and( + or( + in( + "dt.entity.service_method", + entitySelector( + "type(service_method), + fromRelationship.isServiceMethodOfService( + type(~"SERVICE~"),entityName.in( + ~"CategoryApi - ccis - prod~" + ),tag(~"Environment:PROD~") + ),entityName.in( + ~"muteCategories~", + ~"getUserCategories~" + )" + ) + ) + ))):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