modified
parent
67c3b08036
commit
815070d6aa
|
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
slo_id: ""
|
||||
slo_name: 'Wirkkette "FTS Service" - Reliability of key requests'
|
||||
displayname: "Free Text Seach"
|
||||
department: "DE-322"
|
||||
doc_url: "https://atc.bmwgroup.net/confluence/x/YCOqdQ"
|
||||
slo_definition:
|
||||
tresholds:
|
||||
warning: 99 #traffic light orange
|
||||
failure: 98 #traffic light red
|
||||
EMEA-Prod:
|
||||
- metric: "builtin:service.keyRequest.errors.fivexx.rate"
|
||||
filter:
|
||||
- service: "SimplePOIs"
|
||||
keyRequests:
|
||||
- "getSimplePOIs (FTS Calls)"
|
||||
- service: "POIs"
|
||||
keyRequests:
|
||||
- "getPOIs (FTS Calls)"
|
||||
NA-Prod:
|
||||
- metric: "builtin:service.keyRequest.errors.fivexx.rate"
|
||||
filter:
|
||||
- service: "SimplePOIs"
|
||||
keyRequests:
|
||||
- "getSimplePOIs (FTS Calls)"
|
||||
- service: "POIs"
|
||||
keyRequests:
|
||||
- "getPOIs (FTS Calls)"
|
||||
CN-Prod:
|
||||
- metric: "builtin:service.keyRequest.errors.fivexx.rate"
|
||||
filter:
|
||||
- service: "POIs"
|
||||
keyRequests:
|
||||
- "getPOIs (FTS Calls)"
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
module Wirkkette_FTS_Service_Reliability_of_key_requests {
|
||||
|
||||
source = "../../_dynatrace-base-modules/dynatrace-service-level-objective"
|
||||
|
||||
name = "Wirkkette \"FTS Service\" - Reliability of key requests"
|
||||
|
||||
description = "CoCo-QM-Report_Draft"
|
||||
|
||||
#entity selector object
|
||||
filter = ""
|
||||
|
||||
#metric expression of the calculation as done in data explorer ui
|
||||
metric_expression = <<EOT
|
||||
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||
fromRelationship.isServiceMethodOfService(
|
||||
type(~"SERVICE~"),entityName.in(
|
||||
~"POIs~"
|
||||
)
|
||||
),entityName.in(
|
||||
~"getPOIs (FTS Calls)~"
|
||||
)")))):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
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
import yaml
|
||||
import jinja2
|
||||
import sys, os, shutil, pathlib
|
||||
from glob import glob
|
||||
from yaml.loader import SafeLoader
|
||||
|
||||
|
||||
# pre-initialization get current working directory
|
||||
cwd = os.getcwd()
|
||||
|
||||
# defines
|
||||
TEMPLATE_FOLDER_BASENAME = os.path.basename("templates")
|
||||
TEMPLATE_FILE_BASENAME = os.path.basename("terraform-template.j2")
|
||||
YAML_FILE_BASENAME = os.path.basename("TP_FTS.yaml")
|
||||
|
||||
# define entries
|
||||
slo_id = None
|
||||
slo_name = None
|
||||
displayname = None
|
||||
department = None
|
||||
doc_url = None
|
||||
|
||||
slo_definition_tresholds_warning = None
|
||||
slo_definition_tresholds_failure = None
|
||||
|
||||
emea_prod_metric = None
|
||||
emea_prod_filter_service = []
|
||||
emea_prod_filter_keyRequests = []
|
||||
|
||||
na_prod_metric = None
|
||||
na_prod_filter_service = []
|
||||
na_prod_filter_keyRequests = []
|
||||
|
||||
cn_prod_metric = None
|
||||
cn_prod_filter_service = []
|
||||
cn_prod_filter_keyRequests = []
|
||||
|
||||
# read yaml file
|
||||
with open(YAML_FILE_BASENAME) as f:
|
||||
data = list(yaml.safe_load_all(f))
|
||||
|
||||
# read template file
|
||||
env = jinja2.Environment(loader=jinja2.FileSystemLoader(TEMPLATE_FOLDER_BASENAME),
|
||||
trim_blocks=True,
|
||||
lstrip_blocks=True)
|
||||
template = env.get_template(TEMPLATE_FILE_BASENAME)
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
module {{ module }} {
|
||||
|
||||
source = {{ source }}
|
||||
|
||||
name = {{ slo_name }}
|
||||
|
||||
description = {{ description }}
|
||||
|
||||
#entity selector object
|
||||
filter = {{ filter }}
|
||||
|
||||
#metric expression of the calculation as done in data explorer ui
|
||||
metric_expression = <<EOT
|
||||
(100)-(builtin:service.keyRequest.errors.fivexx.rate:filter(and(in("dt.entity.service_method",entitySelector("type(service_method),
|
||||
fromRelationship.isServiceMethodOfService(
|
||||
type(~"SERVICE~"),entityName.in(
|
||||
~"{{ service }}~"
|
||||
)
|
||||
),entityName.in(
|
||||
~"{{ keyRequest }}~"
|
||||
)")))):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 = {{ target }} #if not set(removed) it's defaulted to 98
|
||||
warning = {{ warning }} #if not set(removed) it's defaulted to 99
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue